I want to implement this block code in PHP for bank payment. Can anyone help me? Thank you.
ASCIIEncoding ByteConverter = new ASCIIEncoding();
string dataString = "Data to Sign";
byte[] originalData = ByteConverter.GetBytes(dataString);
byte[] signedData;
RSACryptoServiceProvider RSAalg = new RSACryptoServiceProvider();
String PrivateKey= File.ReadAllText(Application.StartupPath + "\\PrivateKey.xml");
RSAalg.FromXmlString(PrivateKey);
signedData = Key.SignData(originalData,SHA1.Create());
String base64String = Convert.ToBase64String(signedData, 0, signedData.Length);
I have tried , but I did not get any results. I get an sign error as a result of the request.
$baseString = "Data to Sign";
$signedData = null;
$privateKey = file_get_contents(config_path("PrivateKey.pem"));
$privateKeyResource = openssl_pkey_get_private($privateKey);
$signature = null;
if (openssl_sign($baseString, $signedData, $privateKeyResource, OPENSSL_ALGO_SHA1))
$signature = base64_encode($signedData);
$baseStringand not$originalData. If the keys are identical (PrivateKey.xml in XML format and PrivateKey.pem in PEM encoding) both codes generate the same signature. If not, check if the keys are really identical.Key.SignData, What is Key here?