selfsignedcertificate new generate example development create iis ssl makecert

new - self signed certificate iis



Uso de makecert para SSL de desarrollo (2)

Aquí está mi situación:

Intento crear un certificado SSL que se instalará en todos los equipos de los desarrolladores, junto con dos servidores internos (todo no está en producción).

¿Qué debo hacer para crear un certificado que pueda instalarse en todos estos lugares?

Ahora mismo tengo algo parecido a esto, usando la aplicación makecert en Microsoft Visual Studio 8 / SDK / v2.0 / Bin:

makecert -r -pe -n "CN=MySite.com Dev" -b 01/01/2000 -e 01/01/2033 -eku 1.3.6.1.5.5.7.3.1 -ss Root -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 mycert.cer

Sin embargo, no estoy seguro de cómo colocar este archivo .cer en las otras computadoras, y cuando lo instalo en mi máquina local IIS, cada vez que visito una página a través de https :, obtengo el mensaje de seguridad (incluso después de que he instalado el certificado). ¿Alguien ha hecho esto antes?


Aquí están mis guiones para hacer esto:

Crear una autoridad de certificación

Cree un certificado autofirmado (-r), con una clave privada exportable (-pe), utilizando SHA1 (-r), para firmar (firma -sky). La clave privada se escribe en un archivo (-sv).

makecert -r -pe -n "CN=My Root Authority" -ss CA -sr CurrentUser ^ -a sha1 -sky signature -cy authority -sv CA.pvk CA.cer

(^ = permitir línea de comando por lotes para ajustar la línea)

Crear certificado de servidor

Cree un certificado de servidor, con una clave privada exportable (-pe), utilizando SHA1 (-a) para el intercambio de claves (-sky exchange). Se puede usar como un certificado de servidor SSL (-eku 1.3.6.1.5.5.7.3.1). El certificado de emisión está en un archivo (-ic), como la clave (-iv). Use un proveedor de cifrado particular (-sp, -sy).

makecert -pe -n "CN=fqdn.of.server" -a sha1 -sky Exchange ^ -eku 1.3.6.1.5.5.7.3.1 -ic CA.cer -iv CA.pvk ^ -sp "Microsoft RSA SChannel Cryptographic Provider" ^ -sy 12 -sv server.pvk server.cer pvk2pfx -pvk server.pvk -spc server.cer -pfx server.pfx

A continuación, utiliza el archivo .PFX en su aplicación de servidor (o instálelo en IIS). Tenga en cuenta que, de forma predeterminada, pvk2pfx no aplica una contraseña al archivo PFX de salida . Necesitas usar el -po para eso.

Para que todas las máquinas cliente confíen en él, instale CA.cer en sus almacenes de certificados (en la tienda Autoridades de raíz de confianza). Si está en un dominio, puede usar la Política de grupo de Windows para hacerlo globalmente. De lo contrario, puede usar el snap MMC certmgr.msc o la utilidad de línea de comandos certutil :

certutil -user -addstore Root CA.cer

Para instalar el certificado mediante programación en IIS 6.0, consulte este artículo de Microsoft KB . Para IIS 7.0, no sé.


Debe agregar la -cy authority a los conmutadores al crear la autoridad de certificación; de lo contrario, algunas tiendas de certificados no lo verán como una CA adecuada.