Keytool-Fehler "Zertifikatantwort enthält keinen öffentlichen Schlüssel" oder "Öffentliche Schlüssel in Antwort und Schlüsselspeicher stimmen nicht überein" beim Importieren eines neuen SSL-Zertifikats
Summary: Keytool gibt beim Importieren eines neuen SSL-Zertifikats den Fehler "Zertifikatantwort enthält keinen öffentlichen Schlüssel" oder "Öffentliche Schlüssel in Antwort und Schlüsselspeicher stimmen nicht überein" aus, wenn vertrauenswürdige Full-Chain-Zertifikate im Keystore fehlen (Stamm- und untergeordnete CAs) oder das Zertifikat nicht von der letzten CSR signiert wurde. ...
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
# keytool -importcert -alias my-alias -keystore my-keystore.jks -trustcacerts -file my-signed-cert.pem
Das Importieren eines Zertifikats mit keytool erzeugt einen der folgenden Fehler:
keytool error: java.lang.Exception: Certificate reply does not contain public key for my-alias
keytool error: java.lang.Exception: Public keys in reply and keystore don't matchCause
Diese Fehler können mehrere Ursachen haben, aber sie hängen hauptsächlich mit Folgendem zusammen:
- Verwenden einer falschen Keystore-Datei
- für extern signierte Zertifikate mit fehlenden vertrauenswürdigen Full-Chain-Zertifikaten (Stammzertifizierungsstellen und untergeordnete Zertifizierungsstellen)
- Zertifikat wurde von der letzten generierten Signierungsanforderung (CSR) nicht signiert
Resolution
Stellen Sie sicher, dass signierte Zertifikate und CSR aus dem richtigen Keystore stammen (privater Schlüssel), indem Sie modulus überprüfen (Werte müssen identisch sein):
# openssl pkcs12 -in my-keystore.jks -nodes -nocerts | openssl rsa -modulus -noout | openssl sha256
...
(stdin)= c46656d2c830cddba552198aa186ba4b13b0623d10d08768442fef28b9a4be4d
# openssl req -noout -modulus -in certreq.txt | openssl sha256
(stdin)= c46656d2c830cddba552198aa186ba4b13b0623d10d08768442fef28b9a4be4d
# openssl x509 -noout -modulus -in signed-cert.pem | openssl sha256
(stdin)= c46656d2c830cddba552198aa186ba4b13b0623d10d08768442fef28b9a4be4d
Stellen Sie sicher, dass Stammzertifizierungsstelle und untergeordnete(s) Zertifikat(e) im Keystore vorhanden sind:
# keytool -list -keystore my-keystore.jks
Your keystore contains 3 entries
my-alias, Sep 28, 2022, PrivateKeyEntry, ...
rootCA, Sep 28, 2022, trustedCertEntry, ...
intermediateCA, Sep 28, 2022, trustedCertEntry, ...
Um ein extern signiertes Zertifikat zu importieren, sind die wichtigsten Schritte:
1/ Erzeugen eines privaten Schlüssels in einer separaten Keystore-Datei:
# keytool -genkey -alias my-alias -keyalg RSA -keystore my-keystore.jks -storetype pkcs12
2/ Erstellen Sie eine Signaturanfrage:
# keytool -certreq -keyalg RSA -alias my-alias -file my-sign-request.csr -keystore my-keystore.jks
3/ CSR von der externen Zertifizierungsstelle signieren lassen.
Außerdem müssten Sie allen Zertifikaten vertrauen: Stamm- und untergeordnete CA(s). Muss sich in separaten Dateien (im PEM-Format) befinden.
4/ Importieren Sie das vertrauenswürdige Zertifikat der Stammzertifizierungsstelle:
# keytool -import -alias rootCA -keystore my-keystore.jks -trustcacerts -file root-CA.pem
5/ Importieren Sie die Zwischenzertifikate:
# keytool -import -alias intermediateCA -keystore my-keystore.jks -trustcacerts -file intermediate-CA.pem
(Wiederholen Sie dies für alle untergeordneten Zertifizierungsstellen in der Signaturkette unter Verwendung eines eindeutigen Aliasnamens
)6/ Importieren Sie das signierte Zertifikat (mit demselben Alias, der auch in CSR verwendet wird):
)6/ Importieren Sie das signierte Zertifikat (mit demselben Alias, der auch in CSR verwendet wird):
# keytool -import -alias my-alias -keystore my-keystore.jks -trustcacerts -file my-signed-cert.pem
Dieser Wissensdatenbank-Artikel konzentriert sich auf die ordnungsgemäße Erstellung eines Keystore mit extern signiertem SSL-Zertifikat mithilfe des Java Keytool-Dienstprogramms.
Weitere Informationen zur PowerFlex-Implementierung finden Sie in der Dokumentation:
– Sicherheitskonfigurationsleitfaden: Zertifikatmanagement für PowerFlex Gateway
- Anpassen und Konfigurieren von PowerFlex: Sicherheit
Affected Products
PowerFlex rack, PowerFlex Appliance, PowerFlex custom node, ScaleIO, PowerFlex SoftwareArticle Properties
Article Number: 000206194
Article Type: Solution
Last Modified: 11 Apr 2025
Version: 3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.