jueves, 4 de abril de 2013

Cómo crear una lista de certificados de confianza (CTL) con MakeCTL.exe y utilizar Netsh para editar los enlaces de SSL para usar el CTL


Los pasos siguientes se supone lo siguiente:

·         Estos pasos deberían funcionar para Windows 2008 (IIS 7.0) en cualquier nivel de parche. Sin embargo, sólo funciona para Windows 2008 R2 (IIS 7.5) si tiene el Service Pack 1 o al menos fijar http://support.microsoft.com/kb/981506 ( "Certificado SSL añadir, error: 1312" mensaje de error cuando intenta agregar un CTL en Windows Server 2008 R2 o Windows 7).

·         El sitio web de enfoque tiene ya tiene un certificado SSL obligado a   

·         Los pasos siguientes suponen también que el certificado de la CA de la CA ya ha sido añadido a la Certificación emisoras raíz de confianza del almacén del equipo local en el servidor web

·         MakeCTL.exe se ha copiado en el servidor web. IIS 6.0 tiene un asistente incorporado que hace que sea fácil hacer una CTL. Aunque IIS 7 y 7.5, posiblemente, puede tener una característica Make-CTL en el futuro, en febrero de 2010 no lo hacen. Entonces, ¿dónde conseguirlo en estos días? Lo ideal es hacerlo desde una instalación de Visual Studio o el SDK 2003 . Esa es la forma preferida. Pero como sé que algunos de ustedes que necesitan MakeCTL.exe tienen velocidades de descarga algo dolorosas, he hecho MakeCTL.exe disponible para su descarga en su auto desde aquí .  





Haga clic en MakeCtl.exe desde el escritorio del Windows 2008 servidor web y ejecutarlo como administrador

Descripción: Descripción: Descripción: Descripción: cid: image002.png @ 01CAA507.9D1825C0

Haga clic en Siguiente en la "Bienvenido al Asistente para certificados de lista de confianza"

Descripción: Descripción: Descripción: Descripción: cid: image001.png @ 01CAA4F3.4CA80B50


En Certificado pantalla Purpose Trust List, proporcionar un Prefijo para este CTL. Esto también le servirá más tarde el nombre descriptivo de la CTL. Yo recomiendo hacer este prefijo sencillo y corto. Usted puede ahorrarse un dolor de cabeza por no conseguir lujo con captilization o caracteres especiales. En mi ejemplo aquí yo estoy usando TestingCTLs.

Al designar a los propósitos, no es necesario colocar marcas de verificación por cualquiera de las opciones disponibles por defecto. En vez seleccione la opción "Objeto Agregar".


Descripción: Descripción: Descripción: Descripción: cid: image011.png @ 01CAA4F7.395D65A0

En el cuadro de Propósito Definido por el usuario, añada lo siguiente en el campo ID de objeto y haga clic en Aceptar:    1.3.6.1.4.1.311.10.1

Descripción: Descripción: Descripción: Descripción: cid: image012.png @ 01CAA4F6.0FD7A020

Asegúrese de que no haya espacios antes o después de los números de la OID.

Después de confirmar que 1.3.6.1.4.1.311.10.1 ha sido añadido a la lista de efectos y tiene una marca de verificación al lado, haga clic en Siguiente.

Descripción: Descripción: Descripción: Descripción: cid: image014.png @ 01CAA4FA.BB2DCA40



Nota: El ID de objeto 1.3.6.1.4.1.311.10.1 es para "Certificado de listas de confianza" ( szOID_CTL ), según kb 287547 . (O, como se muestra en el complemento Certificados en adelante, "Certifcate Lista de confianza."). Sin embargo, es interesante observar que el asistente de CTL que fue construido en IIS 6.0 creado sus CTL con otros dos designados dos propósitos ("Autenticación de cliente" y "1.3.6.1.4.1.311.30.1" [szOID_IIS_VIRTUAL_SERVER] ) y no designó a 1,3 .6.1.4.1.311.10.1 en absoluto. Supongo que podría estar bien para agregar los tres propósitos, si quieres. Pero si usted está luchando con el error 1312 después (descrito más adelante) tal vez sólo tratar los efectos 1.3.6.1.4.1.311.10.1 solo.



Seleccione la opción "Agregar desde almacén" botón en los Certificados de la ventana de CTL.

Descripción: Descripción: Descripción: Descripción: cid: image010.png @ 01CAA4F8.72A21530


En la ventana Seleccionar certificado, seleccione el certificado de la CA raíz de confianza que el CTL tiene que centrarse.

Descripción: Descripción: Descripción: Descripción: cid: image015.png @ 01CAA4F6.6B28B360



En la ventana de almacenamiento de certificados de confianza de lista, seleccione el almacén de certificados y haga clic en el botón Examinar.

Descripción: Descripción: Descripción: Descripción: cid: image004.png @ 01CAA4F3.B13A0BE0



Añadir una marca de verificación junto a "Mostrar almacenes físicos". . .

Descripción: Descripción: Descripción: Descripción: cid: image005.png @ 01CAA4F3.B13A0BE0


Desplácese hacia arriba y profundizar en el almacén de entidades emisoras de certificados intermedias y luego en la carpeta de equipo local.

Descripción: Descripción: Descripción: Descripción: cid: image006.png @ 01CAA4F3.B13A0BE0


En la ventana Nombre y descripción, el nombre del prefijo seleccionado anteriormente se rellena previamente como el nombre simplificado.  

Recuerde exactamente lo que tenemos aquí porque se le escribiendo lo fuera en una ventana de comandos caso sensible en uno de los pasos posteriores.

Descripción: Descripción: Descripción: Descripción: cid: image007.png @ 01CAA4F3.B13A0BE0

Haga clic en Siguiente en la ventana Nombre y Descripción.

Descripción: Descripción: Descripción: Descripción: cid: image016.png @ 01CAA4FA.BB2DCA40

Revise su información por última vez y haga clic en Finalizar.

Descripción: Descripción: Descripción: Descripción: cid: image017.png @ 01CAA4FA.BB2DCA40




Después de ejecutar con éxito MakeCTL.exe de esta manera en el servidor, una nueva carpeta llamada "lista de confianza de certificados" debe aparecer en el almacén de certificados local. Si ejecutó MakeCTL.exe pero no ve esta carpeta y su interior CTL de la misma, usted puede haber olvidado ejecutar MakeCTL.exe sin privilegios elevados.


Descripción: Descripción: Descripción: Descripción: cid: image008.png @ 01CAA4FC.0DAE6FD0



Observe cómo los fines previstos se muestran como "Lista de certificados de confianza"

Lanzar un símbolo del sistema elevado.

En lugar de utilizar Adsutil.vbs para modificar los enlaces SSL para incluir el CTL, vamos a utilizar Netsh lugar.

Primer comando:


          netsh http show sslcert


Esto le mostrará lo que sus enlaces SSL actuales. Usted debe ser capaz de reconocer que la PI y la combinación de puerto que necesita para enfocar.En este ejemplo, el sitio que desea utilizar el CTL se representa como sigue:

    IP: puerto: 0.0.0.0:4444
    Hash de certificado: 15e3063e10e3d50127d323d8b6827ddd7ae33936
    Id. de aplicación: {4dc3e181-e14b-4a21-b022-59fc669b0914}
    Certificado Nombre de la tienda: MY
    Verifique revocación de certificados de cliente: Habilitado
    Verifique Revocación Con certificado de cliente en caché únicamente: Desactivado
    El uso del cheque: Habilitado
    Revocación Tiempo Frescura: 0
    URL Timeout Recuperación: 0
    Identificador Ctl: (null)
    Ctl Nombre de la tienda: (null)
    DS Uso Mapper: Desactivado
    Negociar certificado de cliente: Desactivado

Note especialmente cómo Ctl Identificador y nombre de su tienda Ctl son nulos. Eso es lo que queremos cambiar para comenzar a utilizar el CTL. 

Pero para cambiarlo, tenemos que eliminar este enlace y agregarlo de nuevo.



Segundo mandato:


netsh http delete sslcert ipport = 0.0.0.0:4444


Esperamos que el mensaje de confirmación de "Certificado SSL eliminado correctamente" en este punto. Si recibió una respuesta de " supresión de certificados SSL, error: 5 La operación solicitada requiere elevación "y luego se le olvidó abrir un símbolo del sistema con privilegios elevados.



Tercer mandamiento:

netsh http add sslcert ipport = 0.0.0.0:4444 certhash = 15e3063e10e3d50127d323d8b6827ddd7ae33936 appid = {4dc3e181-e14b-4a21-b022-59fc669b0914} = sslctlidentifier TestCTLs sslctlstorename = CA

Por supuesto, su ipport, certhash, appid y sslctlidentifier se utilizan valores diferentes a los de mi examle aquí. Usa lo que vimos en los resultados de la "NetShow http show sslcert" comando para averiguar lo que su ipport, certhash y appid son. Su valor sslctlidentifier va a ser lo que es el nombre descriptivo en el CTL. Recuerde que el nombre descriptivo debe escribirse perfectamente y con mayúsculas y minúsculas. Sslctlstorename sólo tiene que ser CA.

Si este comando se ejecuta correctamente, esperamos que el mensaje de confirmación para informar, "Certificado SSL agregado con éxito."

Si recibe el error " Certificado SSL añadir fallado, error: 5 La operación solicitada requiere elevación "y luego se le olvidó ejecutar el comando desde un símbolo del sistema con privilegios elevados.

Si recibe el error "Certificado SSL añadir fracasado, Error: 1312 Una sesión de inicio de sesión especificado no existe. Puede que ya se han terminado "la API de cifrado se queja de que no puede encontrar el CTL que usted haya indicado a añadir a la unión ssl. Por favor, compruebe la ortografía de todo y asegurarse de que está escribiendo el nombre descriptivo de la CTL correctamente y han sido sensibles a las mayúsculas para todas las letras.¿Estás absolutamente seguro de que el CTL se encuentra en la tienda de la derecha? ¿Sabía usted construye el CTL con el propósito correcto previsto?

Cuando es bueno, debería ser algo como esto:


netsh http show sslcert

Enlaces SSL Certificate:
-------------------------

    IP: puerto: 0.0.0.0:4444
    Hash de certificado: 15e3063e10e3d50127d323d8b6827ddd7ae33936
    Id. de aplicación: {4dc3e181-e14b-4a21-b022-59fc669b0914}
    Certificado de la tienda: (null)
    Verifique revocación de certificados de cliente: Habilitado
    Verifique Revocación Con certificado de cliente en caché únicamente: Desactivado
    El uso del cheque: Habilitado
    Revocación Tiempo Frescura: 0
    URL Timeout Recuperación: 0
    Ctl Identifier: TestingCTLs
    Ctl Nombre de la tienda: CA
    DS Uso Mapper: Desactivado
    Negociar certificado de cliente: Desactivado

 Referencias adicionales:


Uso del Asistente de MakeCTL

No Hay Asistente para manipular listas de certificados de confianza