RSACryptoServiceProvider in Node js
I need to sign a string in node js, just like a C # app that uses RSACryptoServiceProvider. He actually uses
X509Certificate2 certificate = new X509Certificate2("file.pfx", "aPassword",
X509KeyStorageFlags.Exportable);
RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)RSACryptoServiceProvider.Create();
rsa.FromXmlString(certificate.PrivateKey.ToXmlString(true));
signer = new RSAPKCS1SignatureFormatter(rsa);
signer.SetHashAlgorithm("SHA256");
byte[] signedData = signer.CreateSignature("a string");
string signedString = Convert.ToBase64String(signedData);
I tried to do the same in node js while using jsonwebtoken this way
var kdrPrivateKey = fs.readFileSync('private_key.pem');
var authorizationSigned = jwt.sign("a string", kdrPrivateKey, { algorithm: 'RS256'});
var authorizationBase64 = Base64.encode(authorizationSigned);
I also got the private_key from file.pfx this way
openssl pkcs12 -in file.pfx -nocerts -out private_key.pem -nodes
My question is, finally, is this node js code equivalent to C # code? If not, how can I make C # code in node js way?
Thank!
+3
source to share
1 answer
Please refer to the following link for data signing implementation: https://nodejs.org/api/crypto.html
0
source to share