Necesito el archivo .pfx para instalar https en el sitio web en IIS.
Tengo dos archivos separados: certificado (.cer o pem) y clave privada (.crt) pero IIS solo acepta archivos .pfx.
Obviamente instalé el certificado y está disponible en el administrador de certificados (mmc) pero cuando selecciono el Asistente de exportación de certificados no puedo seleccionar el formato PFX (está atenuado)
¿Hay alguna herramienta para hacer eso o ejemplos de C # de hacerlo programáticamente?
Respuestas:
Deberá usar openssl.
openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt
El archivo de clave es solo un archivo de texto con su clave privada.
Si tiene una CA raíz y certificaciones intermedias, inclúyalas también usando múltiples
-in
parámetrosopenssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt -in intermediate.crt -in rootca.crt
Puede instalar openssl desde aquí: openssl
fuente
openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt -in intermediate.crt -in rootca.crt
-certfile intermediate.crt -certfile rootca.crt
antes de que se me solicitara protegerlo.pfx
con una frase de contraseña / contraseña. Creo que esto posiblemente se deba a.key
que no coincidió con los-in
archivos adicionales que dieron como resultado el mensaje de error "Ningún certificado coincide con la clave privada" que estaba recibiendo.La utilidad de línea de comandos Microsoft Pvk2Pfx parece tener la funcionalidad que necesita:
Pvk2Pfx (Pvk2Pfx.exe) es una herramienta de línea de comandos que copia información de clave pública y clave privada contenida en archivos .spc, .cer y .pvk en un archivo de intercambio de información personal (.pfx).
http://msdn.microsoft.com/en-us/library/windows/hardware/ff550672(v=vs.85).aspx
Nota: si necesita / quiere / prefiere una solución C #, entonces puede considerar usar el http://www.bouncycastle.org/ api.
fuente
Si está buscando una GUI de Windows, consulte DigiCert. Acabo de usar esto y fue bastante simple.
En la pestaña SSL, primero importé el certificado. Luego, una vez que seleccioné el Certificado, pude exportarlo como PFX, con y sin un archivo de claves.
https://www.digicert.com/util
fuente
DigiCertUtil.exe
ejecutable. Lo más fácil es simplemente copiarlo a la carpeta del certificado.NO necesita openssl o makecert ni nada de eso. Tampoco necesita la clave personal que le proporcionó su CA. Casi puedo garantizar que el problema es que espera poder usar los archivos clave y cer proporcionados por su CA pero no se basan en "la forma IIS". Estoy tan cansado de ver información mala y difícil aquí que decidí bloguear el tema y la solución. Cuando te des cuenta de lo que está sucediendo y veas lo fácil que es, querrás abrazarme :)
SSL Certs para IIS con PFX de una vez por todas - SSL e IIS explicados - http://rainabba.blogspot.com/2014/03/ssl-certs-for-iis-with-pfx-once-and-for.html
Utilice la IU "Certificados de servidor" de IIS para "Generar solicitud de certificado" (los detalles de esta solicitud están fuera del alcance de este artículo, pero esos detalles son críticos). Esto le dará una CSR preparada para IIS. Luego le da esa CSR a su CA y solicita un certificado. Luego tome el archivo CER / CRT que le dan, regrese a IIS, "Complete Certificate Request" en el mismo lugar donde generó la solicitud. Puede solicitar un .CER y usted podría tener un .CRT. Ellos son la misma cosa. Simplemente cambie la extensión o use el .desplegable de extensiones para seleccionar su .CRT. Ahora proporcione un "nombre descriptivo" adecuado (* .yourdomain.com, yourdomain.com, foo.yourdomain.com, etc.) ¡ESTO ES IMPORTANTE! Esto DEBE coincidir con lo que configuró la CSR y lo que le proporcionó su CA. Si solicitó un comodín, su CA debe haber aprobado y generado un comodín y usted debe usarlo. Si su CSR se generó para foo.yourdomain.com, DEBE proporcionar lo mismo en este paso.
fuente
Creé el archivo .pfx a partir de archivos .key y .pem.
Me gusta esto
openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx
fuente
-export
interruptor.https://msdn.microsoft.com/en-us/library/ff699202.aspx
((las citas relevantes del artículo están a continuación))
(Opcionalmente (y no para el OP, sino para futuros lectores), puede crear el archivo .cer y .pvk desde cero) (lo haría ANTES de lo anterior). Tenga en cuenta que mm / dd / aaaa son marcadores de posición para las fechas de inicio y finalización. Consulte el artículo de msdn para obtener la documentación completa.
fuente
Necesitas usar la herramienta makecert.
Abra un símbolo del sistema como administrador y escriba lo siguiente:
Donde
<CertifcateName>
= el nombre de su certificado para crear.Luego puede abrir el complemento Administrador de certificados para la consola de administración escribiendo certmgr.msc en el menú Inicio, haga clic en personal> certificados> y su certificado debería estar disponible.
Aquí hay un artículo.
https://azure.microsoft.com/documentation/articles/cloud-services-certs-create/
fuente
Tengo un enlace con su requerimiento. Combine archivos CRT y KEY en un PFX con OpenSSL
Extractos del enlace de arriba:
EDITAR:
Hay un enlace de soporte con información paso a paso sobre cómo instalar el certificado.
Después de instalar con éxito, exporte el certificado, elija el
.pfx
formato, incluya la clave privada.Nota importante : para exportar el certificado en formato .pfx, debe seguir los pasos en la misma máquina desde la que solicitó el certificado .
El archivo importado se puede cargar al servidor.
fuente
openssl pkcs12 -inkey example.com.key -in example.com.crt -export -out example.com.pfx
Esta es, con diferencia, la forma más fácil de convertir archivos * .cer a * .pfx:
Simplemente descargue el convertidor de certificados portátil de DigiCert: https://www.digicert.com/util/pfx-certificate-management-utility-import-export-instructions.htm
Ejecútelo, seleccione un archivo y obtenga su * .pfx !!
fuente
Cuando dice que el certificado está disponible en MMC, ¿está disponible en "Usuario actual" o "Equipo local"? Descubrí que solo puedo exportar la clave privada si está en la computadora local.
Puede agregar el complemento para Certificados a MMC y elegir para qué cuenta debe administrar los certificados. Elija computadora local. Si su certificado no está allí, impórtelo haciendo clic derecho en la tienda y seleccionando Todas las tareas> Importar.
Ahora navegue hasta su certificado importado en la versión de computadora local del complemento del certificado. Haga clic con el botón derecho en el certificado y elija Todas las tareas> Exportar. La segunda página del asistente de exportación debe preguntarle si desea exportar la clave privada. Seleccione Sí La opción PFX ahora será la única disponible (está atenuada si selecciona no y la opción para exportar la clave privada no está disponible en la cuenta de Usuario actual).
Se le pedirá que establezca una contraseña para el archivo PFX y luego que configure el nombre del certificado.
fuente
Yo estaba teniendo el mismo problema. Mi problema fue que la computadora que generó la solicitud de certificado inicial se había bloqueado antes de que se completara el proceso extendido de validación de SSL. Necesitaba generar una nueva clave privada y luego importar el certificado actualizado del proveedor de certificados. Si la clave privada no existe en su computadora, entonces no puede exportar el certificado como pfx. La opción está atenuada.
fuente
Aunque probablemente sea más fácil generar una nueva CSR usando IIS (como dijo @rainabba), suponiendo que tenga los certificados intermedios, hay algunos convertidores en línea, por ejemplo: https://www.sslshopper.com/ssl-converter. html
Esto le permitirá crear un PFX a partir de su certificado y clave privada sin tener que instalar otro programa.
fuente
En la mayoría de los casos, si no puede exportar el certificado como un PFX (incluida la clave privada) es porque MMC / IIS no puede encontrar / no tiene acceso a la clave privada (utilizada para generar la CSR). Estos son los pasos que seguí para solucionar este problema:
¡Espero que esto ayude!
fuente
Sé que algunos usuarios han hablado sobre instalar esto y aquello y agregar programas de líneas de comando y descargar ...
Personalmente soy flojo y encuentro todos estos métodos engorrosos y lentos, además no quiero descargar nada y encontrar las líneas correctas de cmd si no tengo que hacerlo.
La mejor manera para mí en mi servidor IIS personal es usar RapidSSLOnline. Esta es una herramienta que está en un servidor que le permite cargar su certificado y clave privada y puede generar un archivo pfx para usted que puede importar directamente a IIS.
El enlace está aquí: https://www.rapidsslonline.com/ssl-tools/ssl-converter.php
A continuación se muestran los pasos utilizados para el escenario solicitado.
Y eso es todo, debe tener un PFX descargado y usarlo en su proceso de importación en IIS.
Espero que esto ayude a otras personas tecnológicas perezosas y de mentalidad.
fuente
Para los archivos cfx de SSLForFree, encuentro este https://decoder.link/converter más fácil.
Simplemente asegúrese de que PEM -> PKCS # 12 esté seleccionado, luego cargue el certificado, ca_bundle y los archivos clave y conviértalos. Recuerde la contraseña, luego cargue con la contraseña que utilizó y agregue enlaces.
fuente