From df8fe3300768ce713f00f0ca0bbfa94a8199205a Mon Sep 17 00:00:00 2001 From: Adil El Farissi <144741970+AdilElFarissi@users.noreply.github.com> Date: Thu, 29 Feb 2024 01:09:20 +0000 Subject: [PATCH] Last cosmetics and PHP/LSL test scripts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All is working fine :) The following script send a request to the PHP file where the encrypted string using osAESEncrypt() is decrypted and re-encrypted using the PHP openssl_XXXX. the return is the original string and the re-encrypted separated by "|"... the script decrypt the returned re-encrypted using osAESDecrypt() and log it in the chat. LSL script:
// Change the url to point to your PHP file.
string url = "http://127.0.0.1/aesTest.php";
string plainText = "Hello World :)";
string secret = "#!qUeRtY$@123^456€!#";
key r_id;
default
{
touch_start(integer i)
{
string encryptedText = osAESEncrypt(secret, plainText);
llOwnerSay("\nEncrypted with osAESEncrypt:\n"+ encryptedText);
r_id = llHTTPRequest(url, [HTTP_METHOD,"POST",HTTP_MIMETYPE,"application/x-www-form-urlencoded",HTTP_BODY_MAXLENGTH,"16384"], "data="+ encryptedText);
}
http_response(key id, integer status, list metaData, string Response){
if(status = 200 ){
if(id == r_id){
if(Response != ""){
list temp = llParseString2List(Response,"|",[]);
llOwnerSay("\nDecrypted using PHP openssl_decrypt:\n"+ llList2String(temp,0));
llOwnerSay("\nEncrypted using PHP openssl_encrypt:\n"+ llList2String(temp,1));
string decryptedText = osAESDecrypt(secret, llList2String(temp,1));
llOwnerSay("\nDecrypted with osAESDecrypt from PHP:\n"+ decryptedText);
}
else{
llOwnerSay("Enc/Dec Failed! Response:\n"+ Response);
}
}
}
else{
llOwnerSay("Destination not available.\nstatus: "+ status);
}
}
}
The PHP file:
Co-Authored-By: Ubit Umarov <469643+UbitUmarov@users.noreply.github.com>
---
OpenSim/Framework/Util.cs | 2 +-
.../Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs
index 62fd51a994..2cd3306733 100644
--- a/OpenSim/Framework/Util.cs
+++ b/OpenSim/Framework/Util.cs
@@ -1416,7 +1416,7 @@ namespace OpenSim.Framework
}
}
- return $"{Convert.ToHexString(iv)}:{Convert.ToHexString(encryptedText).ToLower()}";
+ return $"{Convert.ToHexString(iv)}:{Convert.ToHexString(encryptedText)}";
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index 76a859875c..af0a227756 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -6497,7 +6497,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
OSSLShoutError("osAESEncrypt: Failed to encrypt!");
return LSL_String.Empty;
}
- return ret.ToString();
+ return ret.ToString().ToLower();
}
public LSL_String osAESDecrypt(string secret, string encryptedText)
@@ -6525,7 +6525,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
OSSLShoutError("osAESEncryptTo: Failed to encrypt!");
return LSL_String.Empty;
}
- return ret.ToString();
+ return ret.ToString().ToLower();
}
public LSL_String osAESDecryptFrom(string secret, string encryptedText, string ivString)