2017-04-10 6 views
2

RSACryptoServiceProviderを使用するC#アプリケーションと同じ方法で、ノードjsに文字列に署名する必要があります。実際には、私はまた、このようにfile.pfxからPRIVATE_KEYを得、このようにノードjsのRSACryptoServiceProvider

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

をjsonwebtoken使用して、これまでのところ、ノード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); 

を使用しています

openssl pkcs12 -in file.pfx -nocerts -out private_key.pem -nodes 

私の質問は、最終的には、ノードのjsコードは、C#のコードに相当ですか?もしそうでなければ、どのようにノードjsの方法でC#コードを作ることができますか?

ありがとうございます!

答えて