2017-04-10 5 views
2

Ich muss eine Zeichenkette in Knoten js, in der gleichen Weise wie eine C# -Anwendung, die RSACryptoServiceProvider verwendet. In der Tat verwendet esRSACryptoServiceProvider in Knoten js

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); 

Ich habe versucht, das gleiche in Knoten js zu tun, so weit, auf diese Weise mit jsonwebtoken

var kdrPrivateKey = fs.readFileSync('private_key.pem'); 
var authorizationSigned = jwt.sign("a string", kdrPrivateKey, { algorithm: 'RS256'}); 
var authorizationBase64 = Base64.encode(authorizationSigned); 

Ich habe auch die private_key von file.pfx auf diese Weise

Meine Frage ist schließlich, ist der Knoten js Code dem C# -Code gleich? Wenn nicht, wie kann ich den C# -Code in einem Knoten machen?

Danke!

Antwort