2011-09-13 164 views
3

我使用OpenSSL的什麼是OpenSSL中PEM格式的默認密碼?

openssl.exe req -x509 -days 1000 -newkey rsa:1024 -keyout key.pem -out cert.pem 

它會提示輸入密碼生成密鑰/證書。我猜測密碼是用於密鑰加密的。但是我沒有指定任何密碼。在這種情況下使用什麼密碼?

回答

3

默認密碼是DES-EDE3-CBC,這是CBC模式下的三鍵三重DES EDE。你可以在源代碼文件req.c中看到。

cipher=EVP_des_ede3_cbc(); 

如果您使用的是帶有選項OPENSSL_NO_DES編譯的OpenSSL的版本,那麼該庫將不加密默認密鑰。這與通過-nodes參數的行爲是一樣的。

解決這個問題的一種更簡單的方法就是查看您的密鑰文件。它宣佈PEM頭中的密碼。

$ cat key.pem 
-----BEGIN RSA PRIVATE KEY----- 
Proc-Type: 4,ENCRYPTED 
DEK-Info: DES-EDE3-CBC,CAFD88DF2EF2EE81 
... 
+1

沒有標題只是'----- BEGIN ENCRYPTED PRIVATE KEY -----'。但是源代碼解釋了很多。 –

+0

@弗拉基米爾:很高興知道。我猜PEM頭部必須依賴於OpenSSL版本。 – indiv

+0

req.c鏈接已死,請更新或刪除。 – fernandohur