为什么不同版本的openssl会为同一个root证书产生不同的哈希文件名?

OpenSSL – Solaris – Windows

当我运行c_rehash(Solaris中的OpenSSL 0.9.x)和c_rehash(Windows中的OpenSSL 1.1.x)时,完全相同的cert.pem文件被转换为具有完全不同文件名的.0文件。

(Windows)cert.pem => 4e12356.0

(Solaris)cert.pem => 3e121e8.0

为什么是这样? 不pipe我使用的是哪个版本的OpenSSL,哈希是不是应该一模一样?

移到OpenSSL 1.0时,用于这些名称的哈希值被改变了。 您可以使用-subject_hash_old恢复到旧的行为。 请参阅文档 :

-hash

出于向后兼容性的原因,“-subject_hash''的同义词。

-subject_hash_old

使用1.0.0之前的OpenSSL版本所使用的较旧的algorithm输出证书使用者名称的“散列”。

此消息中有更多的背景信息。 本质上,哈希algorithm从MD5更改为SHA-1。