Para el entorno de desarrollo, puedo crear un certificado autofirmado en IIS7.5. Pero ese certificado es SHA-1 y recientemente los navegadores se quejan de ello. Cuando abro FireBug veo las siguientes advertencias:
"Este sitio utiliza un certificado SHA-1; se recomienda utilizar certificados con algoritmos de firma que utilicen funciones hash más potentes que SHA-1".
Entonces mis preguntas son:
1) ¿Existe alguna forma de crear un certificado autofirmado que sea más potente que SHA-1?
2) Si no es así, ¿hay alguna forma de indicarle al navegador que deje de mostrar estas advertencias?
ACTUALIZAR
Terminé usando la respuesta de @vcsjones, pero eso me llevó hasta ahora. Allí tuvimos un par de problemas que tuve que resolver antes de que funcionara.
1) Por alguna razón no pude importar el certificado con contraseña. Así que terminé creando uno sin él.
2) Cuando importé el certificado .pfx a través de IIS, seguía recibiendo el mensaje "No existe una sesión de inicio de sesión especificada" cuando intenté aplicar un nuevo certificado en Editar enlaces. Así que investigué un poco y encontré esto.Pues contestapara ser útil, específicamente la respuesta de Mike L.
Otra cosa que agregaría es que cuando importe un certificado, recuerde seleccionar el certificado .pfx. La selección predeterminada del asistente de importación es *.cer, que puede importar (error que cometí), pero luego no pude ver el certificado en Certificados del servidor IIS. Cuando miré más de cerca, faltaba una pequeña llave en el ícono. Ahora, investigué que pude repararlo a través deKB-889651artículo. Así que asegúrese de importar .pfx y funcionará sin repararlo.
Otra nota: si tiene problemas de confianza con este certificado, impórtelo también a la "Autoridad de certificación raíz de confianza".
Respuesta1
Seguro. Elmakecert
La utilidad que forma parte del SDK de Windows puede hacer eso:
makecert -len 2048 -r -a sha256 -sv private.pvk -n CN=localhost cert.cer
El -a
parámetro establece el algoritmo hash. Esto genera un archivo PVK y DER .cer. Por supuesto, también puedes cambiar el nombre común por el que quieras. Yo solo usé localhost como ejemplo. Puede combinarlos en un PFX (lo que IIS prefiere usar al importar un certificado) usando pvk2pfx
(también parte del SDK):
pvk2pfx -spc cert.cer -pvk private.pvk -pfx out.pfx
Esto simplemente toma los dos archivos makecert
generados y los combina en un archivo PKCS12 .pfx.
Con el archivo PFX resultante, abriría IIS y lo importaría en Certificados de servidor, luego cambiaría los enlaces de su sitio para usar el nuevo certificado.
Respuesta2
Estoy usando una computadora con Windows 7 Enterprise bloqueada en el trabajo y, como tal, no puedo instalar el SDK de Windows para obtener acceso a makecert
. Así es como creé mi certificado autofirmado sha256 (tomado dehttps://core.telegram.org/bots/self-signed):
- Decida en qué directorio desea guardar su certificado
Cree un archivo de texto en ese directorio llamado
template.txt
con el siguiente contenido:[NewRequest] ; At least one value must be set in this section Subject = "CN={your.domain.com}" KeyLength = 2048 KeyAlgorithm = RSA HashAlgorithm = sha256 ;MachineKeySet = true RequestType = Cert UseExistingKeySet=false ;generates a new private key (for export) Exportable = true ;makes the private key exportable with the PFX
Reemplace
{your.domain.com}
con la dirección que utilizará para acceder a su sitio, por ejemplo"CN=localhost"
- Abra un símbolo del sistema y cambie a su directorio de certificados
- Correr
certreq -new template.txt RequestFileOut
- Necesitará saber el número de serie, así que ejecute
certutil -store -user my
para obtener un volcado que incluya el número de serie. - Reemplace
{SERIALNUMBER}
con el número de serie en el volcado y{YOURDER}.crt
con el nombre del archivo de salida:certutil -user -store -split my {SERIALNUMBER} {YOURDER}.crt
- Reemplace
{YOURDER}.crt
con el nombre del archivo de entrada y{YOURPEM}.cer
con el nombre del archivo de salida:certutil -encode {YOURDER}.crt {YOURPEM}.cer
- Reemplace
{your.domain.com}
con su nombre de dominio real (de prueba) y{YOURPKCS}.pfx
con el nombre del archivo de salida:certutil -exportpfx -user {your.domain.com} {YOURPKCS}.pfx NoChain
Después de eso fui al Administrador de IIS, Sitios -> {nombre del sitio} -> Enlaces... (en "Editar sitio"). Luego hice clic en https/443 porque ya lo tenía configurado, Editar... y seleccioné el nuevo certificado de la lista.
Firefox se quejó de que mi sitio utilizaba un certificado autofirmado, así que lo agregué como excepción y ¡listo! ¡funcionó!
Respuesta3
Sí, también recibí el mensaje de error/advertencia "No existe una sesión de inicio de sesión especificada".
Simplemente hice clic en Aceptar por segunda vez y lo aceptó.