2008-11-06 16 views
5

Tengo una situación única en la que necesito implementar autenticación de certificado de cliente a través de HTTPS entre el navegador IE e IIS 6. El navegador y IIS están separados por un firewall que solo permite que el navegador se conecte a IIS en el puerto SSL.¿Cómo generar un certificado de cliente SSL desde una red desconectada?

Tenemos un servidor de certificados interno en la misma red que IIS. He generado un certificado de servidor SSL para IIS y está instalado. Configuré IIS para que solo permita SSL, requiera certificados de cliente.

La limitación aquí es que la máquina del navegador está en una red desconectada, por lo que no puedo ir a la URL de la CA http://caserver/CertSrv y request a client cert como lo haría normalmente.

Pensé que si hubiera una manera de que yo pudiera generar una CSR contra la clave pública de la CA raíz, puedo copiarla en el servidor CA para generar el certificado del cliente. Sin embargo, parece que no hay ninguna disposición en IE o Certificates MMC para hacer esto. El certificado MMC parece requerir una conexión directa a la CA.

¿Alguien ha resuelto esto antes? plazo

su información, todos los servidores de referencia de Windows Server 2003.

Actualización: Gracias a Jonas Oberschweiber y Mark Sutton para señalar la herramienta de línea de comandos Certreq.exe. Al usar esto, he generado una CSR y, en consecuencia, un certificado de cliente que se instala con éxito. Sin embargo, IE aparentemente no está enviando este certificado de cliente al acceder al servidor IIS en cuestión; todavía genera un 403.7 "Prohibido: se requiere certificado de cliente SSL". Sospecho que la razón es que el campo Asunto del certificado del cliente no coincide con el ID de usuario de la cuenta que ejecuta IE, por lo que quizás no envíe un certificado de cliente que no coincida. El Asunto coincide con el del usuario que solía enviar el CSR y genera el certificado del cliente en el otro extremo del firewall.

¿El campo Asunto es importante? ¿Hay algo más que deba hacer para permitir que IE envíe este certificado?

Respuesta

0

Parece que ya has probado un par de cosas, así que supongo que ya las conoces, pero las voy a publicar de todos modos, por las dudas: Certificate Command Line Tools. No estoy seguro, sin embargo, si hacen lo que quieres.

0

Vaya al sitio http://caserver/CertSrv que mencionó utilizando una tercera computadora que puede ver el servidor CA. Seleccione la tercera opción, descargue un certificado de CA, cert chai o CRL. En la página siguiente, seleccione 'Descargar CA Certificate Chain', que descargará el archivo p7b. Usando una unidad flash (o correo electrónico, etc.) transfiera esto a la otra computadora que le permitirá importarlo a los servidores raíz confiables en IE.

http://technet.microsoft.com/en-us/library/cc787796.aspx

+1

Me temo que esto no es lo que estaba pidiendo. Copiar sobre la cadena de cert de Root CA es trivial. Necesito generar un certificado de cliente para la computadora desconectada. – spoulson

1

utilizar el comando certreq en su cliente de la siguiente manera

certreq -nuevo -f filein c: \ certrequest.req

Aquí está y el ejemplo de la

fileIn

[ Versión] Firma = "$ Windows NT $"

[NewRequest]
Subject = "CN = dc1.extranet.frbrikam.com"
encipherOnly = False
exportable = False
KeyLength = 1024
KeySpec = 1
KeyUsage = 0xA0
MachineKeySet = True
ProviderName = "Proveedor de cifrado Microsoft RSA SChannel"
ProviderType = 12
RequestType = CMC

[RequestAttributes] CertificateTemplate = TLSServer

Sustituir el CertificateTemplate con el nombre de la plantilla de certificado

vez que tenga su archivo de solicitud que necesita para llevarlo a la autoridad de certificación en una memoria USB y utilizar la interfaz de inscripción web como de costumbre para procesar el archivo de solicitud.

Devuelva el certificado de salida al cliente y, a continuación, haga clic en instalar.

+0

Esto funcionó para generar un CSR y luego un certificado de cliente. También puedo instalar el certificado en el servidor desconectado. Pero, IE no lo reconoce en Herramientas/Opciones/Cert/Personal, presumiblemente porque el certificado se emite para la identificación del usuario que generó el certificado del cliente, no la identificación del usuario que generó la CSR. – spoulson

+0

Por lo tanto, en IE obtengo un 403.7 "Certificado de cliente requerido" cuando accedo al servidor IIS. – spoulson

0

Sugerencia para la actualización, por si acaso: ¿cuál es la lista de certificados de confianza en el servidor?

Sujeto DN es lo mismo que el nombre de usuario de Windows nunca ha sido un problema para mí, aunque no uso mucho IIS. Sin embargo, en algún lugar de IIS, seguramente habrá una lista de certificados de confianza. Este error me parece que la lista de certificados confiables del servidor no incluye la CA o la CA raíz que emitió el certificado del cliente.

Esto es particularmente cierto si nunca obtiene una ventana emergente de selección de certificado en IE cuando acceda al servidor IIS, incluso si tiene un certificado configurado en su tienda de certificados IE. Eso significa que el cliente golpeó el servidor, el servidor dio una lista de certs confiables y el cliente no tenía un certificado que se ajustara a la lista. Entonces, la sesión SSL pasó al estado de error Prohibido.

Si la ventana de selección de certificado aparecido, y seleccionar y enviar el certificado, puede haber otros problemas de configuración en el lado del servidor ..

Cuestiones relacionadas