我有DER格式的私钥。我试图将其转换为PEM格式。转换时我做了
-----BEGIN PRIVATE KEY-----
Base64.encode(privateKey,.getEncoded());
-----END PRIVATE KEY-----
但在某些例子中,我看到,在标题之后的行之下。
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,F2D4E6438DBD4EA8
他们有什么意义吗?在从DER转换为PEM时是否也应该添加它?
答案 0 :(得分:1)
通常,保密私钥未加密在安全性方面被视为不良做法。
基本上,标题表示私钥base64数据使用密码加密。因此,任何尝试读取私钥的程序(例如Web服务器)都会知道私钥受密码保护,并且首先需要密码来解密私钥。
如果这些头不存在,程序将假定base64密钥数据是纯文本将直接使用它。
如果您不使用密码来保护pem格式的密钥,那么pem可能看起来像这样(没有标题):
-----开始RSA私钥----- MIICWwIBAAKBgQDL9R9pUyXOnHybNhm9FqhNjUX1W2HEt7bCGQIo0FvT6UyyL7TT ----- END RSA私钥-----
答案 1 :(得分:0)
如果要加密PEM文件,这些标头很重要。 第一个告诉文件是否加密,第二个给出加密算法(如你所见)和初始向量。