2011-09-13 138 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