2017-04-06 61 views
-1

如何使用Node.js證書和證書密鑰,我想編寫代碼以編程方式執行下列操作相當於:編程創建節點

openssl genrsa -des3 -passout pass:x -out server.pass.key 2048 
openssl rsa -passin pass:x -in server.pass.key -out server.key 
rm server.pass.key 
openssl req -new -key server.key -out server.csr 
openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt 

完成後,我需要的RSA密鑰server.key和自簽名SSL證書server.crt

forge看起來最有前途,但到目前爲止我還沒有想出如何讓它工作。我有以下代碼:

var pki = forge.pki; 
var keys = pki.rsa.generateKeyPair(2048); 
var privKey = forge.pki.privateKeyToPem(keys.privateKey); 
var pubKey = forge.pki.publicKeyToPem(keys.publicKey); 

但是,當我寫pubKey到一個文件中,我注意到它開始...

-----BEGIN PUBLIC KEY----- 
MIIB... 
-----END PUBLIC KEY----- 

...並沒有被識別,而使用openssl以上它開頭:

-----BEGIN CERTIFICATE----- 
MIID... 
-----END CERTIFICATE----- 
+0

嘗試https://www.npmjs.com/package/pem –

回答

0

好吧,你可能已經意識到,我沒有生成證書。它需要相當多的工作,你可以find here。基本上,經過一系列設置後,我必須創建,簽署並將證書轉換爲Pem:

cert.sign(keys.privateKey); 
var pubKey = pki.certificateToPem(cert); 

希望這可以幫助別人!