Keytool-Fehler: java.security.cert.CertificateParsingException: signierte Felder ungültig

Keytool-Fehler: java.security.cert.CertificateParsingException: signierte Felder ungültig

Ich habe eine X509-Zertifikat-PEM-Datei, die ich von Mongo Atlas erhalten habe. Ich versuche, sie wie folgt in den Schlüsselspeicher zu importieren:

keytool -importcert -file X509-cert.pem -alias myalias -keystore mykeystore.p12 -storetype PKCS12

Aber ich erhalte diesen Fehler:

keytool error: java.security.cert.CertificateParsingException: signed fields invalid

Meine PEM-Datei enthält ein Zertifikat und einen privaten Schlüssel:

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----

Also habe ich sie in cert.pem und key.pem aufgeteilt und dann versucht, sie hinzuzufügen:

$ 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

Ich erhalte einen anderen Fehler für das Zertifikat, aber denselben Fehler für den Schlüssel. So oder so stecke ich bei diesen Fehlern fest.

Wie kann ich mein X509-Zertifikat in meinen Schlüsselspeicher importieren? (Ich mache das alles in einem Kubernetes-Pod.)

Antwort1

Das Problem bestand darin, dass der Aliasname mit meinem Keystore-Alias ​​identisch war, was einen Konflikt verursachte. Dies lässt sich folgendermaßen beheben:

keytool -importcert -file X509-cert.pem -alias someOtherAlias -keystore mykeystore.p12 -storetype PKCS12

verwandte Informationen