当使用相同的密钥和证书文件创建 PKCS12 (PKCS#12 / p12) 文件时,我注意到对OpenSSL
'pkcs12
功能的连续调用每次都会产生不同的ENCRYPTED PRIVATE KEY
内容(我也使用相同的导入密码和 PEM 密码)。这应该发生吗?我猜它与不同的IV(初始化向量)或与私钥的对称加密相关的盐有关,但我想确定一下。
我使用以下命令创建 cred1.p12 和 cred2.p12 文件:
openssl pkcs12 -export -in certs/cert.pem -out cred1.p12 -name "My credentials" -inkey private/key.pem
openssl pkcs12 -export -in certs/cert.pem -out cred2.p12 -name "My credentials" -inkey private/key.pem
当我比较生成的 .p12 文件(diff cred1.p12 cred2.p12
导致二进制差异)时,我使用以下命令创建两个PKCS12
info 文本文件,然后在其上执行另一个.p12 文件diff
。
openssl pkcs12 -info -in cred1.p12 > a.txt
openssl pkcs12 -info -in cred2.p12 > b.txt
diff a.txt b.txt
唯一的区别在于保存私钥内容的-----BEGIN ENCRYPTED PRIVATE KEY-----
和标记之间。-----END ENCRYPTED PRIVATE KEY-----
提前致谢!