Cree un certificado OpenSSL en Windows [cerrado]

82

Como soy muy nuevo en los certificados SSL, y la creación y el uso de ellos, pensé que tal vez los miembros de StackOverflow puedan ayudarme.

Soy de Holanda, la forma habitual de realizar pagos online es mediante la implementación de iDEAL. Un protocolo de pago online respaldado por los principales bancos. Tengo que implementar una versión 'profesional'. Esto incluye la creación de una clave privada RSA. En base a esa clave, tengo que crear un certificado y subirlo al servidor web.

Estoy en una máquina con Windows y estoy completamente confundido sobre qué hacer. Eché un vistazo al sitio web de OpenSSL, porque el manual me reenvió a ese sitio web para obtener un kit de herramientas SSL.

El manual proporciona dos comandos que deben ejecutarse para crear una clave RSA y un certificado.

Los comandos son:

openssl genrsa -des3 –out priv.pem -passout pass:myPassword 1024

y

openssl req -x509 -new -key priv.pem -passin pass:myPassword -days 3650 -out cert.cer

¿Hay alguna manera de hacer esto mediante una utilidad en una máquina con Windows? Descargué PuTTy KeyGenerator. Pero no estoy seguro de qué hacer, he creado una clave (SSH-2 RSA, lo que sea ...) pero ¿cómo creo un certificado con esa clave?

Ben Fransen
fuente
Aquí puede crear un certificado autofirmado en línea: mobilefish.com/services/ssl_certificates/ssl_certificates.php
lubosdz

Respuestas:

29

Puede descargar un OpenSSL nativo para Windows o siempre puede usar Cygwin .

Adam Batkin
fuente
3
Desde ese enlace OpenSSL: "El proyecto OpenSSL no distribuye ningún código en forma binaria y no recomienda oficialmente ninguna distribución binaria específica"
Ed Norris
Si ya tiene Scoop instalado, puede 'instalar scoop openssl'.
mpr
También puede ejecutar en Bash para Windows (en Windows 10)
Altair7852
99

Si está en Windows y usa apache, tal vez a través de WAMP o el instalador de pila de Drupal, también puede descargar el paquete git para Windows , que incluye muchas herramientas útiles de línea de comandos de Linux, una de las cuales es openssl.

El siguiente comando crea el certificado autofirmado y la clave necesarios para apache y funciona bien en Windows:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privatekey.key -out certificate.crt
alexkb
fuente
16
Gracias por mencionar que OpenSSL viene con git para Windows.
Benjamin Albert
2
También puede usar este método en git bash en Windows: ¿Cómo crear un servidor https?
Eido95
¿es SSH-2 o SSH-1?
manish kumar
Tengo un error: unable to find 'distinguished_name' in config 18268:error:0E06D06A:configuration file routines:NCONF_get_string:no conf or environment variable:crypto\conf\conf_lib.c:270: privatekey.keyse generó, pero no el crtarchivo.
tryHard
15

Considere usar la aplicación web de depósito de certificados para crear fácilmente una clave privada y un certificado basado en él: http://www.cert-depot.com/

También puede crear un PFX para usted.

Descargo de responsabilidad: soy el creador de Certificate Depot.

Dima Stopel
fuente
35
Atención: las claves privadas nunca deben transferirse a través de redes públicas; y realmente nunca deberían generarse en una máquina sobre la que no tenga control total. - Por lo tanto, use el resultado de cert-depot.com para pruebas y desarrollo, pero asegúrese de que sus certificados de producción se creen en un entorno confiable. - Dima, no estoy insinuando que su servicio no sea confiable, pero las prácticas de seguridad comunes prohíben el uso de esos certificados para entornos de producción. Dicho esto, ahora voy a obtener un certificado de su sitio para mi nuevo servidor de desarrollo; gracias por ese conveniente servicio. :)
JimmyB
5
Estoy de acuerdo con cada palabra, Hanno. Además, incluso si la conexión es segura, no se debe confiar en que terceros creen claves privadas para él (se pueden almacenar y usar más adelante). Siempre que pude, intenté enfatizar que los certificados generados son adecuados solo para propósitos de desarrollo / prueba.
Dima Stopel
4
Gracias por la útil herramienta de desarrollo Dima, pero su afirmación de "siempre que pude, he intentado enfatizar que los certificados generados son adecuados solo para fines de desarrollo / prueba", actualmente no es cierta. La página de inicio sería un lugar perfecto para poner ese tipo de descargo de responsabilidad, y simplemente no está allí.
Jeremy Cook
4
Parece que este servicio ya no está disponible y, de todos modos, poner tus claves privadas en manos de otra persona es una muy mala idea.
Fabian Ritzmann
2
su sitio cert-depot.com se ha ido.
darknergy
14

Para crear un certificado autofirmado en Windows 7 con IIS 6 ...

  1. Abrir IIS

  2. Seleccione su servidor (elemento de nivel superior o el nombre de su computadora)

  3. En la sección IIS, abra "Certificados de servidor".

  4. Haga clic en "Crear certificado autofirmado".

  5. Nómbrelo "localhost" (o algo así que no sea específico)

  6. Haga clic en Aceptar"

A continuación, puede vincular ese certificado a su sitio web ...

  1. Haga clic derecho en su sitio web y elija "Editar enlaces ..."

  2. Haga clic en "Agregar"

    • Tipo: https
    • Dirección IP: "Todos sin asignar"
    • Puerto: 443
    • Certificado SSL: "localhost"
  3. Haga clic en Aceptar"

  4. Haga clic en "Cerrar"

Teewuane
fuente
El generador de certificados IIS no genera certificados SSL válidos (consulte stackoverflow.com/questions/46641473/… ) y esto no responde a la pregunta formulada.
Doug
La pregunta fue modificada en mayo de 2014, después de mi respuesta.
teewuane
9

Ciertamente puede usar putty (puttygen.exe) para hacer eso.

O puede hacer que Cygwin use las utilidades que acaba de describir.

Pablo Santa Cruz
fuente
1
puttygen.exees super simple y siempre lo olvido!
kodybrown
17
Entiendo cómo crear un par de claves públicas / privadas en puttygen, pero ¿cómo se crea un certificado (.pem) en puttygen?
Aaron_H
Creé una clave pública y privada, pero ¿qué pasa con el certificado?
tryHard