Exportar Certificado de IIS e Importarlo en Apache

Cuenta la leyenda que el procedimiento de exportar un certificado de IIS (5/6/7) a Apache es un procedimiento de solo tres comandos, pero cuando la teoría se enfrenta a la práctica y comienzan a surgir errores como:

[error] Init: Unable to read server certificate from file SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error

Y surgen las preguntas mas frecuentes ¿Cuál de los pasos hice mal? ¿El instructivo que tome es válido? ¿Porque maldita razón a todos les funcionan los how to de tres pasos y cuando quiero probar uno, siempre el resultado es el menos esperado?

Si estás en esta situación quizás estas respuestas puedan ayudarte:

1- Quizás hayas realizado todos los pasos correctamente (y puedes asegurarlo que es asi) y el resultado no es el redactado en el instructivo, probablemente existen otros factores.
2- El instructivo puede ser válido (y hasta quizás veas los comentarios de las personas que lo ejecutaron agradeciendo al Creador porque “Todo funciono Correctamente”) y más dudas te surgen.
3- Es muy probable que si ejecutas el instructivo paso a paso (considerando que la plataforma este en condiciones necesarias) y el resultado no es el esperado,  podemos estar frente a un caso de Omisión,  sucede  que al  generar  instructivos pueden darse por asumido ciertos pasos, que en  la mayoría de las ocasiones son claves y te podes desmadrar buscando una solución durante horas y horas de prueba y error, hasta encontrar que “un paso” (que suele ser algo muy simple) no estaba redactado en el instructivo.

Aclaración previa (me llevo dos horas detectar un paso faltante de este procedimiento, valga la aclaración) comencemos a exportar e importar un certificado SSL de IIS a Apache.

Primer Paso:

Exportar el certificado IIS a un archivo PFX :

  • Inicio Ejecutar, escribe  mmc.exe.
  • Selecciona la opción Agregar o quitar complemento del menú Consola.
  • Haz clic en el botón Agregar, selecciona el complemento Certificados y haz clic en Agregar.
  • Selecciona la opción Cuenta de equipo y haz clic en Siguiente.
  • Selecciona Equipo local y haz clic en Finalizar.
  • Haz clic en Cerrar y, a continuación, en Aceptar.
  • Expande el nodo Certificados y haz clic en la carpeta Personal.
  • Haz clic con el botón derecho sobre el certificado que quieras exportar y selecciona Todas las tareas>Exportar.
  • Se pondrá en marcha un asistente. Deja todas las opciones predeterminadas, pero asegúrate de que la opción Exportar la clave privada esté seleccionada (es vital que se exporte de esta manera). Sigue todos los pasos hasta que obtengas el archivo PFX.

Segundo Paso:

Copiar el archivo *.PFX en el equipo que quieres importar (a traves de SSH o como te plazca) y utilizando OpenSSL vamos a exportar la clave privada del archvo PFX y el Certificado.

# Exportar la clave privada del archivo PFX.

openssl pkcs12 -in archivo.pfx -nocerts -out clave.pem

# Exportar el certificado del archivo PFX.

openssl pkcs12 -in archivo.pfx -clcerts -nokeys -out certificado.pem

# Eliminar la contraseña de la clave privada para que Apache no la pida al iniciar.

openssl rsa -in clave.pem -out servidor.key

Luego dichos archivos se deben mover a l directorio asignado en el  archivo de configuración de Apache, por ejemplo:

<VirtualHost 127.0.0.1:443>
DocumentRoot /var/www/www.example.com/htdocs-secure
ServerName http://www.example.com
SSLEngine on
SSLProxyEngine on
SSLCertificateFile /etc/apache2/cert/certificado.pem
SSLCertificateKeyFile /etc/apache2/cert/servidor.key
</VirtualHost>

# Reinicias Apache

sudo /etc/init.d/apache2  reload

Y todo funcionando (o eso es lo que se espera como resultado de este instructivo).

Referencias:

http://enreas.wikia.com/wiki/Trasladar_un_certificado_SSL_de_IIS_a_Apache

Saludos!

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