¿Cómo generar un certificado de cliente SSL desde una red desconectada?

votos
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.

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 http: // caserver / CertSrv URL de CA y solicitar un certificado de cliente como lo haría normalmente.

Pensé que si hubiera una forma de generar un CSR contra la clave pública de la CA raíz, puedo copiarlo en el servidor de la 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?

FYI, todos los servidores a los que se hace referencia ejecutan Windows Server 2003.

Actualización: Gracias a Jonas Oberschweiber y Mark Sutton por 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.

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

Publicado el 06/11/2008 a las 20:22
fuente por usuario
En otros idiomas...                            


4 respuestas

votos
0

Suena como si ya hubiera probado un par de cosas, así que supongo que ya las conoce, pero las voy a publicar de todos modos, por si acaso: Herramientas de línea de comandos de certificado . No estoy seguro, sin embargo, si hacen lo que quieres.

Respondida el 06/11/2008 a las 20:25
fuente por usuario

votos
0

Vaya al sitio http: // caserver / CertSrv que mencionó utilizando una tercera computadora que pueda 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

Respondida el 06/11/2008 a las 20:32
fuente por usuario

votos
1

Use el comando certreq en su cliente de la siguiente manera

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

Aquí hay un ejemplo del archivo

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

[NewRequest]
Subject = "CN = dc1.extranet.frbrikam.com"
EncipherOnly = Falso
Exportable = False
KeyLength = 1024
KeySpec = 1
KeyUsage = 0xA0
MachineKeySet = True
ProviderName = "Proveedor de criptografía de Microsoft RSA SChannel"
ProviderType = 12
RequestType = CMC

[RequestAttributes] CertificateTemplate = TLSServer

Reemplace CertificateTemplate con el nombre de su plantilla de certificado

Una vez que tenga su archivo de solicitud, debe llevarlo a la autoridad de certificación en un dispositivo USB y utilizar la interfaz de inscripción web, como de costumbre, para procesar el archivo de solicitud.

Vuelva a llevar el certificado de salida al cliente y ábralo y haga clic en instalar.

Respondida el 07/11/2008 a las 12:03
fuente por usuario

votos
0

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

El DN de sujeto es el mismo que el nombre de usuario de Windows nunca ha sido un problema para mí, aunque no uso demasiado 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 cert store de 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 apareció la ventana de selección del certificado, y seleccionó y envió el certificado, puede haber otros problemas de configuración en el lado del servidor.

Respondida el 12/10/2009 a las 13:10
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more