2016-01-09 125 views
0

我使用spacemonkeygo's openssl library來生成RSA私鑰 - 該庫還提供了從PEM加載私鑰的方法,但我無法弄清楚如何將私鑰轉換爲一個加密的PEM塊 - 任何人有任何想法?將RSA私鑰PEM寫入golang中的文件

import "github.com/spacemonkeygo/openssl" 

// Generate a private key 
privateKey, _ := openssl.GenerateRSAKey(2048) 

password := "an encryption password" 
// Create an encrypted PEM block from the private key? 
pem := ??? 

// Load the PEM file 
loadedPrivateKey, _ := openssl.LoadPrivateKeyFromPEMWidthPassword(pem, password) 

privateKey == loadedPrivateKey 
+0

***'privateKey:= openssl.GenerateRSAKey(2048)***'後面的密鑰格式是什麼?它可能已經在PEM中,如果沒有,那麼它的ASN.1/DER。在這種情況下,如果這是您的選擇,您可以使用命令行將其轉換。 – jww

回答

0

基本上你可以用x509.EncryptPEMBlock實現這一點。

如果您的密鑰被「-----開始RSA私鑰-----」和「」-----結束RSA私鑰-----「後綴和前綴包圍必須在加密之前刪除它們