Errore Keytool "La risposta del certificato non contiene la chiave pubblica" o "Le chiavi pubbliche in risposta e nell'archivio chiavi non corrispondono" durante l'importazione di un nuovo certificato SSL
Summary: Keytool genererà l'errore "La risposta del certificato non contiene la chiave pubblica" o "Le chiavi pubbliche in risposta e l'archivio chiavi non corrispondono" durante l'importazione di un nuovo certificato SSL se i certificati full-chain attendibili non sono presenti nell'archivio chiavi (CA radice e subordinate) o il certificato non è firmato dall'ultima CSR. ...
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
L'importazione di un certificato tramite keytool genera uno dei seguenti errori:
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
Questi errori possono avere diverse cause, ma sono principalmente correlate a:
- Utilizzo di un file dell'archivio chiavi errato
- per i certificati firmati esternamente, i certificati attendibili dell'intera catena mancanti (CA radice e qualsiasi CA subordinata)
- il certificato non è stato firmato dall'ultima richiesta di firma (CSR) generata
Resolution
Verificare che il certificato firmato e la CSR provengano dall'archivio chiavi corretto (chiave privata) controllando il modulo (i valori devono essere identici):
# 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
Verificare che la CA radice e i certificati subordinati siano presenti nell'archivio chiavi:
# 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, ...
Per importare un certificato firmato esternamente, i passaggi principali sono:
1/ Generare una chiave privata in un file dell'archivio chiavi separato:
# keytool -genkey -alias my-alias -keyalg RSA -keystore my-keystore.jks -storetype pkcs12
2/ Produci una richiesta di firma:
# keytool -certreq -keyalg RSA -alias my-alias -file my-sign-request.csr -keystore my-keystore.jks
3/ Far firmare la CSR dalla CA esterna.
Sono inoltre necessari tutti i certificati per considerare attendibili: CA root e subordinate. Deve essere in file separati (utilizzando il formato PEM).
4/ Importare il certificato CA radice attendibile:
# keytool -import -alias rootCA -keystore my-keystore.jks -trustcacerts -file root-CA.pem
5/ Importare i certificati intermedi:
# keytool -import -alias intermediateCA -keystore my-keystore.jks -trustcacerts -file intermediate-CA.pem
(ripetere la procedura per tutte le CA subordinate nella catena di firma, utilizzando un nome alias univoco)
6/ Importare il certificato firmato (utilizzando lo stesso alias utilizzato nella CSR):
6/ Importare il certificato firmato (utilizzando lo stesso alias utilizzato nella CSR):
# keytool -import -alias my-alias -keystore my-keystore.jks -trustcacerts -file my-signed-cert.pem
Questo articolo della Knowledge Base è incentrato su come creare correttamente un keystore con certificato SSL firmato esternamente utilizzando l'utilità keytool di Java.
Consultare la documentazione per i dettagli sull'implementazione di PowerFlex:
- Guida alla configurazione di sicurezza: Gestione dei certificati per PowerFlex Gateway
- Personalizzare e configurare PowerFlex: Sicurezza
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.