partir p7b generar crear convertir certificado archivo windows security iis certificate ssl-certificate

windows - generar - p7b to pfx



¿Cómo crear un archivo.pfx desde el certificado y la clave privada? (14)

Aunque probablemente es más fácil generar una nueva CSR utilizando IIS (como dijo @rainabba), asumiendo que tiene 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.

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 herramientas para hacer eso o ejemplos de C # para hacer eso programáticamente?


Creé el archivo .pfx a partir de los archivos .key y .pem.

Al igual que openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx


Cuando dice que el certificado está disponible en MMC, ¿está disponible en "Usuario actual" o "Computadora local"? Descubrí que solo puedo exportar la clave privada si está en Equipo local.

Puede agregar el complemento para Certificados a MMC y elegir la cuenta para la que debe administrar los certificados. Elija la computadora local. Si su certificado no está allí, impórtelo haciendo clic derecho en la tienda y seleccionando Todas las tareas> Importar.

Ahora navegue a su certificado importado en la versión de equipo local del complemento de 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 preguntar si desea exportar la clave privada. Seleccione Sí. La opción PFX ahora será la única disponible (está en gris 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 establezca el nombre del certificado.


En la mayoría de los casos, si no puede exportar el certificado como PFX (incluida la clave privada), es porque MMC / IIS no puede encontrar / no tener acceso a la clave privada (utilizada para generar el CSR). Estos son los pasos que seguí para solucionar este problema:

  • Ejecutar MMC como administrador
  • Una vez que obtenga el certificado de la CA (crt + p7b), impórtelos (Personal / Certificates, y Intermediate Certification Authority / Certificates)
  • IMPORTANTE: haga clic con el botón derecho en su nuevo certificado (Personal / Certificados) Todas las tareas ... Administre la clave privada y asigne permisos a su cuenta o Todos (¡es arriesgado!). Puede volver a los permisos anteriores una vez que haya terminado.
  • Ahora, haga clic con el botón derecho en el certificado y seleccione Todas las tareas ... Exportar, y debería poder exportar el certificado, incluida la clave privada como archivo PFX, ¡y puede cargarlo en Azure!

¡Espero que esto ayude!



La utilidad de línea de comandos de Microsoft Pvk2Pfx parece tener la funcionalidad que necesita:

Pvk2Pfx (Pvk2Pfx.exe) es una herramienta de línea de comandos que copia la clave pública y la información de clave privada contenida en los 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 / desea / prefiere una solución de C #, puede considerar usar la http://www.bouncycastle.org/ api.


Necesitará utilizar 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 certificados intermedios, inclúyalos también usando múltiples parámetros de entrada

openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt -in intermediate.crt -in rootca.crt

Puedes instalar openssl desde aquí: openssl


Necesitas usar la herramienta makecert.

Abra un símbolo del sistema como administrador y escriba lo siguiente:

makecert -sky exchange -r -n "CN=<CertificateName>" -pe -a sha1 -len 2048 -ss My "<CertificateName>.cer"

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/


Sé que algunos usuarios han hablado acerca de instalar esto y aquello y agregar programas de líneas de comando y descargar ...

Personalmente soy perezoso y encuentro todos estos métodos engorrosos y lentos, además, no quiero descargar nada y encontrar las líneas de cmd correctas si no tengo que hacerlo.

La mejor manera para mí en mi servidor IIS personal es usar RapidSSNline. 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.

  1. Seleccione el tipo actual = PEM
  2. Cambiar para = PFX
  3. Sube tu certificado
  4. Sube tu clave privada
  5. Si tienes un certificado ROOT CA o un certificado intermedio, cárgalos también
  6. Establezca una contraseña de su elección, utilizada en IIS
  7. Haz clic en el reCaptcha para demostrar que no eres un bot
  8. Haga clic en convertir

Y eso es todo, debería tener un PFX descargado y usarlo en su proceso de importación en IIS.

Espero que esto ayude a otras personas afines, de tecnología perezosa.


Si está buscando una GUI de Windows, revise 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 un PFX, con y sin un archivo de claves.

https://www.digicert.com/util


Tengo un enlace con su requerimiento. Combine los archivos CRT y KEY en un PFX con OpenSSL

Extractos del enlace anterior:

Primero necesitamos extraer el certificado de CA raíz del archivo .crt existente, porque lo necesitamos más adelante. Abra el archivo .crt y haga clic en la pestaña Ruta de certificación.

Haga clic en el certificado superior (en este caso, VeriSign) y presione Ver certificado. Seleccione la pestaña Detalles y presione Copiar a archivo ...

Seleccione el certificado codificado en Base-64 X.509 (.CER) Guárdelo como rootca.cer o algo similar. Colóquelo en la misma carpeta que los otros archivos.

Cambie el nombre de rootca.cer a rootca.crt. Ahora deberíamos tener 3 archivos en nuestra carpeta desde los cuales podemos crear un archivo PFX.

Aquí es donde necesitamos OpenSSL. Podemos descargarlo e instalarlo en Windows , o simplemente abrir el terminal en OSX.

EDITAR:

  1. Hay un enlace de soporte con información paso a paso sobre cómo instalar el certificado.

  2. Luego de la instalación exitosa, exporte el certificado, elija .pfx formato .pfx , 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 .

  3. El archivo importado se puede cargar al servidor.


Usted NO necesita openssl o makecert ni nada de eso. Tampoco necesita la clave personal que le dio su CA. Casi puedo garantizar que el problema es que espera poder usar los archivos de clave y de seguridad provistos por su CA, pero no están basados ​​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á pasando y veas lo fácil que es, querrás abrazarme :)

Certificados SSL para IIS con PFX de una vez por todas - Explicación de SSL e IIS - http://rainabba.blogspot.com/2014/03/ssl-certs-for-iis-with-pfx-once-and-for.html

Use 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. A continuación, le da esa CSR a su CA y solicita un certificado. Luego, tome el archivo CER / CRT que le proporcionaron, regrese a IIS, "Complete Certificate Request" en el mismo lugar donde generó la solicitud. Puede solicitar un .CER y es posible que tenga un .CRT. Ellos son la misma cosa. Solo cambia la extensión o usa el . desplegable de extensión para seleccionar su .CRT. Ahora proporcione un "nombre amistoso" adecuado (* .yourdomain.com, yourdomain.com, foo.yourdomain.com, etc.) ¡ESTO ES IMPORTANTE! Esto DEBE coincidir con lo que configuró la CSR y lo que su CA le proporcionó. Si solicitó un comodín, su CA debe haber aprobado y generado un comodín y usted debe usar el mismo. Si su CSR se generó para foo.yourdomain.com, DEBE proporcionar lo mismo en este paso.


Yo estaba teniendo el mismo problema. Mi problema fue que la computadora que generó la solicitud de certificado inicial se bloqueó antes de que se completara el proceso de validación de ssl extendido. Necesitaba generar una nueva clave privada y luego importar el certificado actualizado del proveedor del certificado. Si la clave privada no existe en su computadora, entonces no puede exportar el certificado como pfx. La opción está en gris.


https://msdn.microsoft.com/en-us/library/ff699202.aspx

((las citas relevantes del artículo están abajo))

A continuación, debe crear el archivo .pfx que usará para firmar sus implementaciones. Abra una ventana del símbolo del sistema y escriba el siguiente comando:

PVK2PFX –pvk yourprivatekeyfile.pvk –spc yourcertfile.cer –pfx yourpfxfile.pfx –po yourpfxpassword

dónde:

  • pvk - yourprivatekeyfile.pvk es el archivo de clave privada que creó en el paso 4.
  • spc - yourcertfile.cer es el archivo de certificado que creó en el paso 4.
  • pfx - yourpfxfile.pfx es el nombre del archivo .pfx que se creará.
  • po - yourpfxpassword es la contraseña que desea asignar al archivo .pfx. Se le pedirá esta contraseña cuando agregue el archivo .pfx a un proyecto en Visual Studio por primera vez.

(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. Vea el artículo de msdn para la documentación completa.

makecert -sv yourprivatekeyfile.pvk -n "CN=My Certificate Name" yourcertfile.cer -b mm/dd/yyyy -e mm/dd/yyyy -r