Pregunta

Me gustaría saber cómo puedo configurar mi Apache 2 (versión 2.0.64) para usar múltiples pares de clave/certificado para la autenticación mutua.

Más precisamente, he configurado mi apache para aceptar conexiones SSL en el puerto 443 utilizando esta configuración:

<VirtualHost _default_:443>
     SSLEngine on
     SSLCertificateFile certs/mycert.crt
     SSLCertificateKeyFile certs/mykey.key
     SSLCACertificateFile certs/ca.crt
     .....
</VirtualHost>

Tengo 2 alias, digamos:

https://myserver/project1
https://myserver/project2

Me gustaría usar diferentes pares de clave/certificados (que mykey.key/mycert.crt) para autenticar al cliente que se conecte a mi segunda URL (https://myserver/project2).

Lo intenté con el <Location> y <LocationMatch> Directivas, pero las directivas SSL no parecen ser apoyadas bajo estas.

¿Cómo se puede hacer esto?

¿Fue útil?

Solución

Hay una extensión nombrada Indicación del nombre del servicio (también conocido como SNI) en tls. El cliente TLS indica el nombre del servidor al que está conectado; Por lo tanto, el servidor puede seleccionar la clave y el certificado correctos para usar.

De acuerdo con la Página de Sni Wikipedia Tanto los módulos Apache 2 MOD_SSL como MOD_GNUTLS parece admitir esta extensión y también numerosos clientes web

Un tutorial de configuración de Apache 2 está disponible aquí: http://en.gentoo-wiki.com/wiki/apache2/ssl_and_name_based_virtual_hosts

Otros consejos

Soluciones de posibles para tener SNI con Apache2:

  • Actualizar Apache2 a la versión 2.2.x
  • Compilar/instalar gnutls con apache2
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top