Categories

See More
Popular Forum

MBA (4887) B.Tech (1769) Engineering (1486) Class 12 (1030) Study Abroad (1004) Computer Science and Engineering (988) Business Management Studies (865) BBA (846) Diploma (746) CAT (651) B.Com (648) B.Sc (643) JEE Mains (618) Mechanical Engineering (574) Exam (525) India (462) Career (452) All Time Q&A (439) Mass Communication (427) BCA (417) Science (384) Computers & IT (Non-Engg) (383) Medicine & Health Sciences (381) Hotel Management (373) Civil Engineering (353) MCA (349) Tuteehub Top Questions (348) Distance (340) Colleges in India (334)
See More

RSACryptoServiceProvider in Node js

General Tech Bugs & Fixes
Max. 2000 characters
Replies

usr_profile.png
Karlie Kloss

User

( 7 months ago )

 

I have to sign a string in node js, in the same way of a C# application, which uses RSACryptoServiceProvider. In fact it 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've tried to do the same in node js, so far, using jsonwebtoken in 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 in this way

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

My question, finally is, is the node js code equivalent to the C# code? If not, how can I make the C# code in a node js way?

what's your interest


forum_ban8_5d8c5fd7cf6f7.gif