Keytool-fout "Certificaatantwoord bevat geen openbare sleutel" of "Openbare sleutels in antwoord en keystore komen niet overeen" bij het importeren van een nieuw SSL-certificaat

Summary: Keytool zal de foutmelding "Certificaatantwoord bevat geen openbare sleutel" of "Openbare sleutels in antwoord en keystore komen niet overeen" genereren bij het importeren van een nieuw SSL-certificaat als vertrouwde full-chain certificaten ontbreken in keystore (hoofd- en onderliggende CA's) of als het certificaat niet is ondertekend vanuit de laatste 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

Het importeren van een certificaat met behulp van keytool levert een van de volgende fouten op:
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 match

Cause

Deze fouten kunnen meerdere oorzaken hebben, maar ze hebben meestal te maken met:
  • Using a wrong keystore file
  • voor extern ondertekende certificaten, ontbrekende vertrouwde certificaten in de volledige keten (hoofdmap en eventuele onderliggende CA's)
  • Certificaat is niet ondertekend vanaf laatst gegenereerde ondertekeningsaanvraag (CSR)

Resolution

Zorg ervoor dat ondertekende certificaten en CSR's afkomstig zijn van de juiste keystore (persoonlijke sleutel) door de modulus te controleren (waarden moeten identiek zijn):

# 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

Zorg ervoor dat de basiscertificeringsinstantie en onderliggende certificaat(en) aanwezig zijn in keystore:
# 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, ...

Voor het importeren van een extern ondertekend certificaat zijn de belangrijkste stappen:

1/ Genereer een persoonlijke sleutel in een afzonderlijk keystore-bestand:
# keytool -genkey -alias my-alias -keyalg RSA -keystore my-keystore.jks -storetype pkcs12

2/ Maak een ondertekeningsverzoek:
# keytool -certreq -keyalg RSA -alias my-alias -file my-sign-request.csr -keystore my-keystore.jks

3/ Laat de CSR ondertekenen door de externe CA. 
Je hebt ook alle certificaten nodig om te kunnen vertrouwen: root en subordinate CA('s). Moet in afzonderlijke bestanden zijn (in PEM-indeling).

4/ Importeer het vertrouwde basis-CA-certificaat:
# keytool -import -alias rootCA -keystore my-keystore.jks -trustcacerts -file root-CA.pem

5/ Importeer de tussencertificaten:
# keytool -import -alias intermediateCA -keystore my-keystore.jks -trustcacerts -file intermediate-CA.pem
(herhaal dit voor alle onderliggende CA's in de ondertekeningsketen, met een unieke aliasnaam)

6/ Importeer het ondertekende certificaat (met dezelfde alias als die wordt gebruikt in CSR):
# keytool -import -alias my-alias -keystore my-keystore.jks -trustcacerts -file my-signed-cert.pem

Deze KB is gericht op het op de juiste manier bouwen van een keystore met extern ondertekend SSL-certificaat met behulp van het Java-hulpprogramma voor keytools.
Raadpleeg de documentatie voor PowerFlex-implementatiedetails:
- Handleiding voor beveiligingsconfiguratie: Certificaatbeheer voor PowerFlex Gateway
- PowerFlex aanpassen en configureren: Beveiliging
 

Affected Products

PowerFlex rack, PowerFlex Appliance, PowerFlex custom node, ScaleIO, PowerFlex Software
Article 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.