我有一个从 Mongo Atlas 获得的 X509 证书 pem 文件。我正在尝试将其导入密钥库,如下所示:
keytool -importcert -file X509-cert.pem -alias myalias -keystore mykeystore.p12 -storetype PKCS12
但我收到这个错误:
keytool error: java.security.cert.CertificateParsingException: signed fields invalid
我的 pem 文件包含一个证书和一个私钥:
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
所以我将它们分成 cert.pem 和 key.pem,然后尝试添加它们:
$ keytool -importcert -file cert.pem -alias myalias -keystore mykeystore.p12 -storetype PKCS12
Enter keystore password:
keytool error: java.lang.Exception: Public keys in reply and keystore don't match
$ keytool -importcert -file key.pem -alias myalias -keystore mykeystore.p12 -storetype PKCS12
Enter keystore password:
keytool error: java.security.cert.CertificateParsingException: signed fields invalid
我的证书出现了不同的错误,但密钥出现了相同的错误。不管怎样,我都陷入了这些错误。
如何将 X509 证书导入到我的密钥库中?(我正在 kubernetes pod 中执行所有这些操作)
问题是别名与我的密钥库别名相同,导致冲突。所以修复这个问题是: