El uso de HttpClient con SSL y certificados

Mientras he estado familiarizado con HTTPS y el concepto de SSL, recientemente he comenzado un desarrollo y encontró estoy un poco confundido.

El requisito es que tengo que escribir una pequeña aplicación Java que se ejecuta en un equipo conectado a un escáner. Cuando se escanea un documento esta es recogido y el archivo (normalmente PDF) enviados a través de internet a nuestro servidor de aplicaciones que se procesan. He escrito la solicitud de uso de Apache Commons bibliotecas y HTTPClient.

El segundo requisito es la de conectar a través de SSL, que requiere un certificado. Siguiente orientación sobre el HTTPclient página estoy usando AuthSSLProtocolSocketFactory a partir de las contribuciones de la página.

El constructor puede tomar un almacén de claves, contraseña de almacén de claves, almacén de confianza y la contraseña del almacén de confianza. Como prueba inicial de nuestro DBA habilitado SSL en uno de nuestros de desarrollo de los servidores web y me ofreció una .archivo p12 que cuando me importan en IE me permite conectar con éxito.

Estoy un poco confundido entre almacenes de claves y truststores y qué pasos debo seguir usando el keytool. He intentado importar el p12 en un archivo de almacén de claves, pero sale el error:

keytool error: java.lang.Exception: Input not an X.509 certificate

He seguido la sugerencia de la importación de la p12 en Internet Explorer y exportar como .cer que luego se pueden importar correctamente en un almacén de claves. Cuando me proporcione como un almacén de claves argumento de la AuthSSLProtocolSocketFactory puedo obtener una insignificante error, pero si me tratan como un almacén de confianza parece que no lo lee bien, pero en última instancia puedo obtener

Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

Estoy seguro de si me he perdido algunos pasos, estoy malentendido SSL y autenticación mutua en conjunto o esto está mal de configuración en el lado del servidor.

¿Alguien puede proporcionar sugerencias o me apunte hacia los recursos que me puede ayudar a resolver esto por favor?

2 Kommentare

  1. 3

    El almacén de claves que contiene las claves privadas y los certificados asociados. El almacén de confianza mantenga los certificados de confianza y que por lo tanto puede ser utilizado para la ruta del certificado de construcción y verificación.

    Aquí hay algunos enlaces que pueden ser útiles:

    java.lang.Excepción: de Entrada no una X. 509 certificado

    Importación de la clave privada y el certificado en el Almacén de Claves de Java

    Configuración de los almacenes de claves y Truststores

  2. 1

    asegúrese de que su archivo de certificado no tiene nada antes y después de estas.

    —–BEGIN CERTIFICATE—–

    —–END CERTIFICATE—–

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea