Below is the c# coding I used to sign data but I couldn't get back the same signed data compare to openssl_sign in php
public static string SignData(string clearText)
{
var bytesToEncrypt = Encoding.UTF8.GetBytes(clearText);
StreamReader sr = new StreamReader("./keys/private.pem");
PemReader pr = new PemReader(sr);
var keyPair = (RsaPrivateCrtKeyParameters)pr.ReadObject();
var rsaParameters = DotNetUtilities.ToRSAParameters(keyPair);
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.ImportParameters(rsaParameters);
var sig = rsa.SignData(bytesToEncrypt, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);
return Convert.ToBase64String(sig);
}
PHP
public static function encrypt($timestamp, $url, $datajson){
if(openssl_sign($signatureRawData, $x_mb_signature, static::Private_key, OPENSSL_ALGO_SHA256)){
$output = base64_encode($x_mb_signature);
}
return $output;
}