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)