Cadenas de certificados al importar una respuesta CSR firmada

3

Estoy interactuando con un servicio web seguro y me autentico utilizando un certificado de cliente. Estoy confundido acerca del paso # 3 en la configuración del cliente:

  1. Generar una clave privada en el almacén de claves
  2. Genere un CSR para que se firme su clave pública
  3. Importe el certificado de la Autoridad de Certificación en su almacén de claves para poder establecer una cadena de certificados adecuada cuando importe su certificado firmado en el Paso 4.
  4. Importe el certificado proporcionado en respuesta a la CSR

Los pasos 1, 2 y 4 tienen sentido. El paso 3 no tiene sentido para mí. Ya tengo mi clave privada en el almacén de claves, y el certificado es una declaración de que un tercero de xyz ha firmado mi par de llaves. Si me salto el paso tres, recibo un error: "keytool error: java.lang.Exception: Error al establecer la cadena desde la respuesta". No entiendo qué es la validación / por qué es necesaria tal validación. Hipotéticamente, si importé una respuesta CSR de alguien en quien no confiaba, no parece que otorgue ningún privilegio / haga ningún daño.

El certificado importado en el paso # 3 NO está relacionado con la cadena de certificados utilizada para validar la identidad del servidor cuando el cliente se conecta (ese certificado se importa por separado a mi almacén de confianza). Se requiere el certificado en el paso # 3 para importar la respuesta a mi CSR.

¿Por qué es necesario el paso 3?

    
pregunta Jim 19.03.2013 - 19:51
fuente

1 respuesta

4

En SSL, cuando el cliente envía su certificado, en realidad envía una cadena de certificados , desde la raíz hasta el certificado del cliente (no es necesario enviar la propia raíz, pero se enviará una CA intermedia); consulte el estándar allí y there ). Para reconstruir dicha cadena, su software aparentemente necesita que importe el certificado de CA en el almacén de claves.

Además, hasta cierto punto, la validación del certificado recibido de la CA se asegura de que el certificado no se haya modificado durante su tránsito. Nominalmente, su certificado no es para usted; es algo que se muestra a otras personas (o máquina) y ellos lo validan; pero lo prefiere cuando puede verificar que tiene un "buen certificado" para mostrar.

    
respondido por el Thomas Pornin 19.03.2013 - 19:58
fuente

Lea otras preguntas en las etiquetas