Error de Keytool "La respuesta del certificado no contiene la clave pública" o "Las claves públicas en la respuesta y el almacenamiento de claves no coinciden" al importar un nuevo certificado SSL
Summary: Keytool generará el error "La respuesta del certificado no contiene la clave pública" o "Las claves públicas en la respuesta y el almacenamiento de claves no coinciden" al importar un nuevo certificado SSL si faltan certificados de cadena completa de confianza en el almacén de claves (CA raíz y subordinadas) o si el certificado no está firmado desde la última 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
La importación de un certificado mediante keytool produce uno de los siguientes errores:
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
Estos errores pueden tener varias causas, pero principalmente estarían relacionados con lo siguiente:
- Uso de un archivo de almacenamiento de claves incorrecto
- para el certificado firmado externamente, faltan certificados de confianza de cadena completa (raíz y cualquier CA subordinada)
- El certificado no se firmó desde la última solicitud de firma generada (CSR)
Resolution
Asegúrese de que el certificado firmado y la CSR provengan del almacén de claves correcto (clave privada) comprobando el módulo (los valores deben ser idénticos):
# 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
Asegúrese de que la CA raíz y los certificados subordinados estén presentes en el almacén de claves:
# 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, ...
Para importar un certificado firmado externamente, los pasos principales son los siguientes:
1/ Genere una clave privada en un archivo de almacenamiento de claves independiente:
# keytool -genkey -alias my-alias -keyalg RSA -keystore my-keystore.jks -storetype pkcs12
2/ Generar una solicitud de firma:
# keytool -certreq -keyalg RSA -alias my-alias -file my-sign-request.csr -keystore my-keystore.jks
3/ Obtenga la CSR firmada por la CA externa.
También necesitaría que todos los certificados confíen: CA(s) raíz y subordinada(s). Debe estar en archivos separados (con formato PEM).
4/ Importe el certificado de CA raíz de confianza:
# keytool -import -alias rootCA -keystore my-keystore.jks -trustcacerts -file root-CA.pem
5/ Importar los certificados intermedios:
# keytool -import -alias intermediateCA -keystore my-keystore.jks -trustcacerts -file intermediate-CA.pem
(Repita el procedimiento para todas las CA subordinadas en la cadena de firma, utilizando un nombre de alias único)
6/ Importe el certificado firmado (utilizando el mismo alias que se utiliza en CSR):
6/ Importe el certificado firmado (utilizando el mismo alias que se utiliza en CSR):
# keytool -import -alias my-alias -keystore my-keystore.jks -trustcacerts -file my-signed-cert.pem
Esta base de conocimientos se centra en cómo crear correctamente un almacén de claves con un certificado SSL firmado externamente mediante la utilidad Keytool de Java.
Consulte la documentación para obtener detalles sobre la implementación de PowerFlex:
Guía de configuración de seguridad: Administración de certificados para el gateway de PowerFlex
- Personalice y configure PowerFlex: Seguridad
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.