Saltar al contenido

java.lang.Exception: las claves públicas en respuesta y el almacén de claves no coinciden

Solución:

El problema aquí es el alias que usó al importar el certificado, que es similar al que usó al crear la tienda JKS. Simplemente cambie el alias y resolverá su problema. El documento fuente [1] debe corregirse en consecuencia.

[1] http://docs.oracle.com/cd/E19509-01/820-3503/ggfgo/index.html

El enlace de su pregunta explica cómo crear un almacén de claves SSL para un servidor, que no es lo que desea hacer. Lo que hiciste fue:

  1. Crea un nuevo par de claves
  2. Agregar un certificado de confianza al almacén de claves
  3. Agregar otro certificado de confianza al almacén de claves
  4. Intente importar el certificado SSL del servidor como certificado para su par de claves

El paso 4 falla porque el certificado SSL se generó para un par de claves completamente diferente.

Los tres certificados son probablemente:

  1. El certificado SSL del servicio web
  2. El certificado CA que firmó el certificado SSL
  3. El certificado raíz que firmó la CA

Lo que debe hacer ahora es agregar un ancla de confianza a su almacén de confianza (de forma predeterminada: ${JAVA_HOME}/jre/lib/security/cacerts), con el resultado de que su cliente acepta el certificado SSL del servicio web.

Por lo general, el servidor SSL envía toda la cadena, excepto el certificado raíz, al cliente durante el protocolo de enlace SSL. Esto significa que debe agregar el certificado raíz a su almacén de confianza:

keytool -import -keystore ${JAVA_HOME}/jre/lib/security/cacerts -file CCA_Certificate.cer -alias theCCARoot

Se necesitan pasos adicionales si el servicio web requiere autenticación de cliente SSL, pero nunca ha mencionado la autenticación de cliente, así que supongo que no es necesario.

En el 4 punto (donde está obteniendo un error: error de keytool: java.lang.Exception: las claves públicas en respuesta y el almacén de claves no coinciden) donde está importando el certificado, cambie el alias. El alias no debe ser npci_client_testore ya que ya se usa para el alias del almacén de claves.

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *