Menu Barra

lunes, 19 de diciembre de 2011

Crear o Actualizar certificado Web SSL para IIS7 -Windows Server 2008


Buscando información encontré este vínculo de Microsoft donde nos ayuda a crear o actualizar un certificado SSL para IIS.

 

http://support.microsoft.com/kb/295281/es

 

Debo comentar que esto se realiza sobre IIS 7 (es más fácil que IIS 6 su configuración) y que es factible utilizar este procedimiento para sitios creados en SharePoint con la característica de SSL, para esto debemos primero seguir lo siguiente:

 

Crear el requerimiento de Certificado
Debemos ir a nuestro Internet Information Service (IIS) Manager, no posicionamos sobre el servidor, luego ubicamos el Server Certificates o Servidor de Certificado.

 
Después nos vamos Create Certificate Request, como la imagen siguiente
En la imagen anterior debemos completar la información que nos solicita y es muy importante mencionar el primer campo solicitado.  
  • Common name: Nombre del dominio completo o URL.
    • Debo mencionar que este punto es muy importante porque un certificado SSL generado con un dominio (testsite.cl) no será válido para un subdominio (portal.testsite.cl), así que para todos los subdominios podemos utilizar el comodín * (*.testsite.cl o http://www.*.testsite.cl/)
  • Organization: Nombre de la compañía.
  • Organizational Unit: Departamento encargado del soporte por ejemplo "SDIT".
  • City/Locality: Ciudad de contacto de la empresa.
  • State/Province: provincia de contacto de la empresa.
  • Country/Región: País de contacto de la empresa.
Luego debemos seleccionar el tipo de proveedor de servicios criptográficos, por defecto dejamos con muestra la imagen

 

 
Luego continuamos con NEXT y damos la ruta y el nombre del archivo para crear el archivo con el requerimiento y así proporcionar este request a VeriSign.

 
Instalar el Certificado en el Servidor Una vez que la entidad certificadora (VeriSign) nos proporcione el archivo (con extensión .p7b) podemos instalar el certificado. En mi caso al intentar subir por la administración central de IIS me arroja el siguiente error, pero si no aparece el error podemos proceder y continuar sin ningún problema.

 
Según Microsoft indica que el problema es ocurrido por

 
This problem occurs because .p7b format certificates are not decoded correctly when you import .p7b format certificates from the Certificate Import Wizard in MMC.

 
Nota: Información extraída desde la siguiente URL http://support.microsoft.com/kb/971510/en

 
Para solucionar este problema solo debemos instalar el certificado mediante línea de comando y digitamos lo siguiente:
certreq –accept NOMBRE DEL CERTIFICADO.p7b

 
Posterior a la ejecución del comando ya tenemos instalado el certificado.

 
Configurar Sitio Web HTTPS
Si estamos configurando un nuevo sitio tenemos que habilitar el protocolo HTTPS y si ya lo teníamos configurado solo tenemos que modificar el certificado que utilizamos en el sitio web en nuestro caso es la segunda opción por ende debemos dirigirnos al sitio ya creado y luego botón derecho sobre dicho sitio y le damos click en Bindings (Modificar Enlaces) y nos aparece una para poder editar el certificado en EDIT, luego en SSL Certifícate procedemos a seleccionar el nuevo certificado SSL que utilizara el Sitio, todo como muestra la imagen siguiente.

 
Finalmente ya queda todo instalado ahora corroboramos ingresando al sitio con el protocolo HTTPS:// y vemos que el certificado esta operativo.

NOTA 1: En caso que tengamos dos servidores de la capa de presentacion (Web Front End) y por caso extremo no tenemos el dinero para comprar otro certificado para el segundo servidor, podemos hacer los siguiente. Una vez instalado el certificado en el primer servidor (siguiendo este procedimiento) podemos realizar un export y luego importar este certificadoen en el segundo nodo. Posterior debemos asignar el binding como se realizo en este post.

NOTA 2: Si quieremos publicar este sitio a internet y en mi caso tenemos un ISA Server (TMG Fore Front) realizamos el mismo procedimiento de la NOTA 1 para exportar el certificado y luego enviar al adminitrador de redes para cargar dicho certificado.

PD: En breve dejo el procedimiento para IIS 6 para quien lo requiera.
  1. En Administrative Tools, abra Internet Services Manager
  2. Haga clic con el botón derecho del mouse sobre el servidor en el cual instalará el SSL y abra la ventana Properties
  3. Haga clic en la pestaña Directory Security
  4. Haga clic en Server Certificate. Si usted no ha utilizado esta opción antes, el botón Edit no estará activo.
  5. Seleccione Create a new certificate 
  6. Seleccione la opción Prepare the request now, but send it later. Verisign solo acepta CSR a través del enrolamiento. No se aceptan CSR enviados por email.
  7. Ingrese un Friendly Name para distinguir el certificado. Note que no necesariamente debe ser el common name del certificado. También debe seleccionar el largo de la llave del certificado el cual debe ser de al menos 2048 bits.
  8. Complete la información requerida por el asistente de Certificados de IIS para crear la llave privada que quedará en su servidor y el CSR que usted utilizará mientras realice el enrolamiento.
  9. Finalmente tenemos nuestro request para enviarlo.
Este post descárgalo en PDF, Aqui.
 
Cualquier consulta o sugerencia que tengan, no duden en comentarla.
Atte,
Claudio Pérez Q.

3 comentarios:

  1. Puedo utlilizar el mismo certificado para varios sitios dentro del mismo IIS? o tengo que generar un certificado por cada uno de los sitios ?

    ResponderEliminar
    Respuestas
    1. Estimado, disculpa la demora, pero a tu duda existen varias formas lo cual paso a comentar.

      En cierto modo se puede pero esto tiene un costo adicional, a que me refiero, para poder publicar un sitio o varios sitios con un solo certificado, debes adquirir un certificado llamado comodín o Wildcard que provee la empresa (VeriSign por ejemplo). Esto tiene un costo mas elevado que el certificado para un sitio especifico que puede variar desde un 30% aprox.

      El certificado comodín o Wildcard puede servir para un dominio donde varios sitios están bajo ese dominio, si necesitas cubrir otro sitio con un dominio distinto deberás pagar por otro certificado.

      Como preguntas, para publicar cada sitio con un certificado diferente es posible, pero ese debe realizar axtividades extras sobre el servidor donde aloja el sitio. Una de ellas - la primera- es configurar una nueva IP al servidor para que este nuevo certificado este asociado a esta nueva IP. La otra forma es realizar ciertas modificaciones en duro al archivo applicationHost.config ubicado en la siguiente ruta C:\Windows\System32\inetsrv\config, funciona!!, pero es algo que no recomiendo.

      Espero haber sido claro, cualquier comentario quedo atento

      Slds
      Claudio Perez

      Eliminar
  2. se puede modificar las propiedades de un certificados con windows server 2012 r2???????

    ResponderEliminar