
我有一個從 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 中執行所有這些操作)
答案1
問題是別名與我的金鑰庫別名相同,導致衝突。所以修復這個問題是:
keytool -importcert -file X509-cert.pem -alias someOtherAlias -keystore mykeystore.p12 -storetype PKCS12