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:
- Generar una clave privada en el almacén de claves
- Genere un CSR para que se firme su clave pública
- 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.
- 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?