Los desarrolladores y administradores de TI tienen, sin duda, la necesidad de 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 pruebas, es posible que también necesite utilizar un certificado SSL aquí.
Como alternativa a la compra y renovación de un certificado anual, puede aprovechar la capacidad de su servidor de Windows para generar un certificado autofirmado que es conveniente, fácil y debe satisfacer perfectamente este tipo de necesidades.
Creación de un certificado autofirmado en IIS
Si bien hay varias formas de realizar la tarea de crear un certificado autofirmado, usaremos la utilidad SelfSSL de Microsoft. Desafortunadamente, esto no se incluye con IIS, pero está disponible gratuitamente como parte del Kit de herramientas de recursos de IIS 6.0 (enlace que se proporciona 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í, puede copiarlo en su directorio de Windows o en una ruta de red / unidad USB para su uso futuro en otra máquina (para que no tenga que descargar y extraer el IIS6RT completo).
Una vez que tenga la utilidad SelfSSL en su lugar, ejecute el siguiente comando (como Administrador) reemplazando los valores en <> según corresponda:
selfssl / N: CN = <su.dominio.com> / V: <número de días válidos>
El siguiente ejemplo produce un certificado comodín autofirmado contra "midominio.com" y lo establece para que sea válido durante 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, solo se almacena en el almacén de certificados personales del servidor. Es una buena práctica tener este certificado también configurado en la raíz de confianza.
Vaya a Inicio> Ejecutar (o tecla de Windows + R) e ingrese "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 del lado izquierdo.
Seleccione Cuenta de computadora.
Seleccione Computadora local.
Haga clic en Aceptar para ver el almacén de certificados locales.
Vaya a Personal> Certificados y busque el certificado que configuró con la utilidad SelfSSL. Haga clic con el botón derecho en el certificado y seleccione Copiar.
Vaya a Autoridades de certificación raíz de confianza> Certificados. Haga clic con el botón derecho en la carpeta Certificados y seleccione Pegar.
Una entrada para el certificado SSL debería aparecer en la lista.
En este punto, su servidor no debería tener problemas para trabajar con el certificado autofirmado.
Exportando 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 de certificado y advertencias, debe instalar el certificado autofirmado. en cada una de las máquinas cliente (que analizaremos en detalle a continuación). Para hacer esto, primero necesitamos exportar el certificado respectivo para que pueda ser instalado en los clientes.
Dentro de la consola con la Administración de certificados cargada, navegue a Entidades de certificación raíz de confianza> Certificados. Busque el certificado, haga clic con el botón 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 de certificado. Estará en formato PFX.
Confirme su configuración y haga clic en Finalizar.
El archivo PFX resultante es lo que se instalará en sus máquinas cliente 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 tenga todo funcionando, 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 de certificación (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, es posible que reciba avisos repetidos en forma de una barra de URL resaltada o advertencias de certificados repetidas. Para evitar esta molestia, simplemente necesita instalar el certificado de seguridad SSL personalizado en la máquina cliente.
Según el navegador que utilice, este proceso puede variar. Tanto IE como Chrome leen de la tienda de certificados de Windows, sin embargo, Firefox tiene un método personalizado para manejar certificados de seguridad.
Nota IMPORTANTE: Debieras Nunca instale un certificado de seguridad de una fuente desconocida. En la práctica, solo debe instalar un certificado localmente si lo generó. Ningún sitio web legítimo le exigirá que siga estos pasos.
Internet Explorer y Google Chrome: instalación del certificado localmente
Nota: aunque Firefox no utiliza el almacén de certificados nativo de Windows, 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 que se indicaron anteriormente. 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 “Trusted Root Certification Authorities” debe estar precargada como destino. Haga clic en Siguiente.
Revise la configuración y haga clic en Finalizar.
Debería ver un mensaje de éxito.
Actualice su vista de la carpeta Trusted Root Certification Authorities> Certificados y debería ver el certificado autofirmado del servidor en la tienda.
Una vez hecho esto, debería poder navegar a un sitio HTTPS que utilice estos certificados y no reciba advertencias ni avisos.
Firefox: permitir excepciones
Firefox maneja este proceso de manera un poco diferente, ya que no lee la información del certificado de la tienda de Windows. En lugar de instalar certificados (per-se), le permite definir excepciones para certificados SSL en sitios particulares.
Cuando visite un sitio que tiene un error de certificado, recibirá una advertencia como la que se muestra a continuación. El área en azul nombrará la URL respectiva a la que está intentando 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.
Tenga en cuenta que si un sitio en particular redirige a subdominios desde su interior, es posible que reciba varias advertencias de seguridad (la URL es ligeramente diferente cada vez). Agregue excepciones para esas URL siguiendo los mismos pasos que antes.
Conclusión
Vale la pena repetir el aviso anterior de que debe Nunca instale un certificado de seguridad de una fuente desconocida. En la práctica, solo debe instalar un certificado localmente si lo generó. Ningún sitio web legítimo le exigirá que siga estos pasos.
Enlaces
Descargue el kit de herramientas de recursos de IIS 6.0 (incluye la utilidad SelfSSL) de Microsoft