Instalar el módulo para DNIe en un servidor Apache

Estos días estoy realizando el curso de INTECO de desarrollo de aplicaciones del DNIe (os recomiendo que si estáis en paro os paséis por la sección de formación de su web, hay múltiples cursos gratis, que quieras que no ayudan a engordar el CV y a ampliar conocimientos) y, como ejercicio práctico, me he puesto a instalar el módulo para autenticación con DNIe en un servidor Apache.

La idea es instalar el módulo mod_ssl para que apache trabaje con certificados digitales para la autenticación cliente/servidor.

La idea es descargar el módulo, guardarlo en la carpeta /libexec de Apache y ejecutar estos comandos:

cd usr/local/modssl
./configure\
-- with-apache=../apache\
-- with-ssl=../openssl\
-- enable-shared=ssl\

make
make install

Se recompila y reinstala Apache con la opción –enable-module=modssl y ya está. A partir de ahora, para arrancar Apache con ssl se ejecutará el comando

/usr/local/apache/bin/apachectl startssl

Tras esto toca configurar el Apache. Debéis buscar el fichero http.conf, donde estarán todas las directivas de MOD_SSL para su gestión.

La configuración de SSL estará entre una etiqueta ifDefine SSL, dentro de la cual debéis comprobar si está habilitado el protocolo SSL (SSLEngine on). Comprobad por allí que está definido el certificado de servidor y su clave privada (SSLCertificateFile /usr/local/apache/conf/ssl.crt/certificatSERV.crt para el certificado y SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/clausSERV.key ). Luego hay que indicar el directorio donde se guarda la CA (autoridad de certificación) del DNIe, directiva que se utiliza para comprobar si se confía en el emisor del certificado cliente. Busca SSLCACertificateFile acraiz-dnie.cer y SSLCACertificatePath /usr/local/apache/conf/ssl.crt/, el primero es el nombre del certificado y el segundo la dirección donde debe estar guardado. Para cargar el resto de Autoridades de Certificación subordinadas en las cuales se confiará, el procedimiento es el siguiente:

  • Ubicar el certificado en el directorio antes indicado en formato PEM
  • Crear un nombre simbólico de la forma “hash.N” para cada certificado. Se puede hacer con el comando Makefile que proporciona el mismo mod_ssl

Para acabar comprueba que la autenticación del cliente está habilitada (SSLVerifyClient require) y la profundidad de verificación, que para el caso del DNIe se encuentra en las CA subordinadas y la CA Raiz (SSLVerifyDepth 2).

Con todo esto ya tienes el módulo instalado para usar una conexión segura SSL en tu Apache, usando el DNIe para la verificación.

Anuncios

Un comentario en “Instalar el módulo para DNIe en un servidor Apache

  1. elogin.es – Si queréis evitar el engorro de configurar el servidor, puedes contratar el servicio con elogin.es y configurar su servicio con su sencilla API, tendrás el login con dnie y certificado electrónico instalado en poco tiempo.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s