Keytool-fel "Certifikatsvar innehåller inte offentlig nyckel" eller "Offentliga nycklar i svar och nyckelbehållare matchar inte" vid import av nytt SSL-certifikat
Summary: Keytool kommer att generera felet "Certifikatsvar innehåller inte offentlig nyckel" eller "Offentliga nycklar i svar och nyckelbehållare matchar inte" när du importerar ett nytt SSL-certifikat om betrodda fullständiga kedjecertifikat saknas i nyckelbehållaren (rotcertifikatutfärdare och underordnade certifikatutfärdare) eller om certifikatet inte är signerat från senaste 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
Om du importerar ett certifikat med keytool uppstår något av följande fel:
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
Dessa fel kan ha flera orsaker, men de är främst relaterade till:
- Använda fel nyckellagringsfil
- för externt signerade certifikat, betrodda certifikat i fullständig kedja saknas (rotcertifikatutfärdare och eventuella underordnade certifikatutfärdare)
- Certifikatet har inte signerats från den senast genererade signeringsbegäran (CSR)
Resolution
Se till att signerade certifikat, CSR kommer från rätt nyckelbehållare (privat nyckel) genom att kontrollera modulus (värdena måste vara identiska):
# 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
Se till att rotcertifikatutfärdare och underordnade certifikat finns i nyckelbehållaren:
# 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, ...
Om du vill importera externt signerade certifikat är huvudstegen:
1/ Generera en privat nyckel i en separat nyckellagringsfil:
# keytool -genkey -alias my-alias -keyalg RSA -keystore my-keystore.jks -storetype pkcs12
2/ Skapa en begäran om undertecknande:
# keytool -certreq -keyalg RSA -alias my-alias -file my-sign-request.csr -keystore my-keystore.jks
3/ Få CSR signerad av den externa certifikatutfärdaren.
Du måste också lita på alla certifikat: rotcertifikatutfärdare och underordnade certifikatutfärdare. Måste finnas i separata filer (med PEM-format).
4/ Importera det betrodda rotCA-certifikatet:
# keytool -import -alias rootCA -keystore my-keystore.jks -trustcacerts -file root-CA.pem
5/ Importera de mellanliggande certifikaten:
# keytool -import -alias intermediateCA -keystore my-keystore.jks -trustcacerts -file intermediate-CA.pem
(upprepa för alla underordnade certifikatutfärdare i signeringskedjan, med ett unikt aliasnamn)
6/ Importera det signerade certifikatet (med samma alias som används i CSR):
6/ Importera det signerade certifikatet (med samma alias som används i CSR):
# keytool -import -alias my-alias -keystore my-keystore.jks -trustcacerts -file my-signed-cert.pem
Den här kunskapsbasartikeln fokuserar på hur du korrekt skapar ett nyckellager med externt signerat SSL-certifikat med hjälp av Java keytool utility.
Se dokumentationen för information om PowerFlex-implementering:
– Manual för säkerhetskonfiguration: Certifikathantering för PowerFlex Gateway
- Anpassa och konfigurera PowerFlex: Säkerhet
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.