为什么不同版本的 openssl 会为同一个根证书生成不同的散列文件名?

Mik*_*e B 4 windows solaris ssl openssl

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

为什么是这样?无论我使用的是哪个版本的 OpenSSL,哈希值都不应该完全相同吗?

Bru*_*uno 9

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

-hash

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

-subject_hash_old

使用 OpenSSL 版本在 1.0.0 之前使用的旧算法输出证书主题名称的“哈希”。

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