我想知道是否可以使用相同的公钥(对于私钥)生成新证书并更改颁发者/主题字符串中属性的顺序?
它是关于一个使用“自签名”证书的旧服务器系统。它们在 JKS 文件中存储和使用(服务器上的私钥,共享给所有客户端的公钥)。上次更新密钥发生在去年。事实证明,由于主题/颁发者字符串中属性的顺序,使用客户端应用程序之一无法处理新证书。
像“C=XX,O=MyOrganization,OU=MyOrganizationalUnit,CN=myCommonName”就可以了
vs "CN=myCommonName, OU=MyOrganizationalUnit, O=MyOrganization, C=XX" 不行。
在短时间内,不可能更新消费客户端应用程序以使其与“新”字符串格式兼容。因此,唯一的选择是拥有一个带有公钥证书的新 JKS,即当前私钥,但主题/颁发者字符串中的属性顺序不同。
我们不能简单地为系统生成一对新的密钥对,因为有很多客户端已经使用公钥运行(并且能够正确处理它)。
是否可以使用公钥证书和主题/颁发者字符串中属性的更新顺序创建新的信任存储 JKS?
Keytool 命令似乎不允许这样做?
当您使用 keytool 创建 .jks 文件时,它会提示您输入每条信息,然后以不适合您的标准顺序存储所有信息。但是,您可以在使用 keytool 命令创建 .jks 文件时以字符串形式手动输入可分辨名称信息。
keytool -genkeypair -dname "C=XX, O=MyOrganization, OU=MyOrganizationalUnit, CN=myCommonName" -alias bmnff -keystore /path/to/keystore.jks