Los desarrolladores y administradores de TI, sin duda, necesitan implementar algún sitio web a través de HTTPS utilizando un certificado SSL. Si bien este proceso es bastante sencillo para un sitio de producción, para fines de desarrollo y prueba, es posible que también necesite utilizar un certificado SSL aquí.
Como alternativa a comprar y renovar un certificado anual, puede aprovechar su Windows La capacidad del servidor para generar un certificado autofirmado que es conveniente, fácil y debería satisfacer perfectamente este tipo de necesidades.
Crear un certificado autofirmado en IIS
Si bien existen varias formas de realizar la tarea de crear un certificado autofirmado, usaremos la utilidad SelfSSL de Microsoft. Lamentablemente, esto no se incluye con IIS, pero está disponible gratuitamente como parte de IIS. 6.0 Kit de herramientas de recursos (enlace proporcionado al final de este artículo). A pesar del nombre «IIS 6.0″Esta utilidad funciona bien en IIS 7.
Todo lo que se requiere es extraer el IIS6RT para obtener la utilidad selfssl.exe. Desde aquí puedes copiarlo a tu Windows directorio o una ruta de red/unidad USB para uso futuro en otra máquina (para que no tenga que descargar y extraer el IIS6RT completo).
Una vez que tenga la utilidad SelfSSL implementada, ejecute el siguiente comando (como administrador) reemplazando los valores en <> según corresponda:
selfssl /N:CN=
El siguiente ejemplo genera un certificado comodín autofirmado para «midominio.com» y lo configura para que sea válido para 9,999 días. Además, al responder sí al mensaje, este certificado se configura automáticamente para vincularse al puerto 443 dentro del sitio web predeterminado de IIS.
Si bien en este punto el certificado está listo para usarse, se almacena únicamente en el almacén de certificados personales del servidor. Es una buena práctica tener también este certificado configurado en la raíz de confianza.
Vaya a Inicio > Ejecutar (o Windows Tecla + R) e ingresa «mmc». Es posible que reciba un mensaje de UAC, acéptelo y se abrirá una Consola de administración vacía.
En la consola, vaya a Archivo > Agregar o quitar complemento.
Agregue certificados desde el lado izquierdo.
Seleccione Cuenta de computadora.
Seleccione Computadora local.
Haga clic en Aceptar para ver el almacén de certificados locales.
Navegue a Personal > Certificados y localice el certificado que configuró usando la utilidad SelfSSL. Haga clic derecho en el certificado y seleccione Copiar.
Vaya a Autoridades de certificación raíz de confianza > Certificados. Haga clic derecho en la carpeta Certificados y seleccione Pegar.
Debería aparecer una entrada para el certificado SSL en la lista.
En este punto, su servidor no debería tener problemas para trabajar con el certificado autofirmado.
Exportar el certificado
Si va a acceder a un sitio que utiliza el certificado SSL autofirmado en cualquier máquina cliente (es decir, cualquier computadora que no sea el servidor), para evitar una posible avalancha de errores y advertencias de certificado, se debe instalar el certificado autofirmado. en cada una de las máquinas cliente (que analizaremos en detalle a continuación). Para ello, primero debemos exportar el certificado respectivo para poder instalarlo en los clientes.
Dentro de la consola con la Administración de certificados cargada, navegue hasta Autoridades de certificación raíz de confianza > Certificados. Localice el certificado, haga clic derecho y seleccione Todas las tareas > Exportar.
Cuando se le solicite exportar la clave privada, seleccione Sí. Haga clic en Siguiente.
Deje las selecciones predeterminadas para el formato de archivo y haga clic en Siguiente.
Ingrese una contraseña. Esto se utilizará para proteger el certificado y los usuarios no podrán importarlo localmente sin ingresar esta contraseña.
Ingrese una ubicación para exportar el archivo del certificado. Estará en formato PFX.
Confirme su configuración y haga clic en Finalizar.
El archivo PFX resultante es lo que se instalará en las máquinas de sus clientes para indicarles que su certificado autofirmado proviene de una fuente confiable.
Implementación en máquinas cliente
Una vez que haya creado el certificado en el lado del servidor y todo funcione, puede notar que cuando una máquina cliente se conecta a la URL respectiva, se muestra una advertencia de certificado. Esto sucede porque la autoridad certificadora (su servidor) no es una fuente confiable de certificados SSL en el cliente.
Puede hacer clic en las advertencias y acceder al sitio; sin embargo, puede recibir avisos repetidos en forma de una barra de URL resaltada o advertencias repetidas de certificados. Para evitar esta molestia, simplemente necesita instalar el certificado de seguridad SSL personalizado en la máquina cliente.
Dependiendo del navegador que utilices, este proceso puede variar. Es decir y Chrome ambos leen del Windows Almacén de certificados; sin embargo, Firefox tiene un método personalizado para manejar los certificados de seguridad.
Importante Note: Nunca debes instalar un certificado de seguridad de una fuente desconocida. En la práctica, sólo deberías instalar un certificado localmente si lo generaste. Ningún sitio web legítimo le exigirá que realice estos pasos.
Internet Explorer y Google Chrome – Instalación del certificado localmente
Note: Aunque Firefox no utiliza el nativo Windows almacén de certificados, este sigue siendo un paso recomendado.
Copie el certificado que se exportó desde el servidor (el archivo PFX) a la máquina cliente o asegúrese de que esté disponible en una ruta de red.
Abra la administración del almacén de certificados local en la máquina cliente siguiendo exactamente los mismos pasos anteriores. Eventualmente terminarás en una pantalla como la siguiente.
En el lado izquierdo, expanda Certificados > Autoridades de certificación raíz de confianza. Haga clic derecho en la carpeta Certificados y seleccione Todas las tareas > Importar.
Seleccione el certificado que se copió localmente en su máquina.
Ingrese la contraseña de seguridad asignada cuando se exportó el certificado desde el servidor.
La tienda «Autoridades de certificación raíz de confianza» debe completarse previamente como destino. Haga clic en Siguiente.
Revise la configuración y haga clic en Finalizar.
Deberías ver un mensaje de éxito.
Actualice su vista de la carpeta Autoridades de certificación raíz de confianza > Certificados y debería ver el certificado autofirmado del servidor en la lista del almacén.
Una vez hecho esto, debería poder navegar a un sitio HTTPS que utilice estos certificados y no recibir advertencias ni mensajes.
Firefox: permitir excepciones
Firefox maneja este proceso de manera un poco diferente ya que no lee la información del certificado del Windows almacenar. En lugar de instalar certificados (per se), le permite definir excepciones para certificados SSL en sitios particulares.
Cuando visite un sitio que tenga un error de certificado, recibirá una advertencia como la siguiente. El área en azul nombrará la URL respectiva a la que intenta acceder. Para crear una excepción para omitir esta advertencia en la URL respectiva, haga clic en el botón Agregar excepción.
En el cuadro de diálogo Agregar excepción de seguridad, haga clic en Confirmar excepción de seguridad para configurar esta excepción localmente.
Note que si un sitio en particular redirige a subdominios desde dentro de sí mismo, puede recibir múltiples mensajes de advertencia de seguridad (con la URL ligeramente diferente cada vez). Agregue excepciones para esas URL siguiendo los mismos pasos anteriores.
Conclusión
Vale la pena repetir el aviso anterior de que nunca debe instalar un certificado de seguridad de una fuente desconocida. En la práctica, sólo deberías instalar un certificado localmente si lo generaste. Ningún sitio web legítimo le exigirá que realice estos pasos.
Enlaces
Descargar IIS 6.0 Kit de herramientas de recursos (incluye la utilidad SelfSSL) de Microsoft