generate encrypt decrypt windows openssl public-key-encryption

windows - encrypt - openssl generate private key



no se puede cargar la informaciĆ³n de configuraciĆ³n de/usr/local/ssl/openssl.cnf (12)

Con las herramientas GnuWin32 encontré el openssl.cnf en C: / gnuwin32 / share

set OPENSSL_CONF=C:/gnuwin32/share/openssl.cnf

Mientras usa OpenSSL en Windows:

openssl genrsa -out privatekey.pem 1024 -->

Creado con éxito

openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365 ---->

Mostrando un mensaje de error como

no se puede cargar la información de configuración de /usr/local/ssl/openssl.cnf


Debe especificar la ruta absoluta a la configuración, algo como esto:

openssl req -x509 -config "C:/OpenSSL-Win64/bin/openssl.cnf" ...


Después de instalar OpenSSL el 28 de febrero de 2018, tuve que crear una nueva variable de entorno del sistema:

  • Nombre: OPENSSL_CONF
  • Valor: C:/Program Files (x86)/GnuWin32/share/openssl.cnf

Este valor difiere de las versiones de instalación anteriores (como se vio en una edición anterior de esta publicación). Además, no olvide agregar C:/Program Files (x86)/GnuWin32/bin a su ruta de C:/Program Files (x86)/GnuWin32/bin .


Después de instalar OpenSSL, debe reiniciar su computadora y usar Run As Administrator . Entonces funciona


En Windows 10, no es necesario reiniciar ni ejecutar en el modo Administrador, sino que se configura de esta forma la configuración de openssl:

set OPENSSL_CONF=C:/Program Files (x86)/GnuWin32/share/openssl.cnf

Por supuesto, si estás usando GnuWin32


En Windows 7 no tuve que reiniciar, simplemente ejecute el símbolo del sistema en modo administrador.


En Windows, [ escenario similar ]

Estaba enfrentando el mismo problema pero fue durante la solicitud de solicitud de firma de certificado.

Hice lo siguiente, funcionó para mí.

Una vez que OpenSSL está instalado, ejecute el símbolo del sistema como administrador después de que el sistema se reinicie. [Lo mejor que hice fue ... ejecutar como administrador y reiniciar el sistema]

hizo, 1. [Caso de error]

C:/OpenSSL-Win64/bin>openssl req -new -key server.key -out server.csr

ADVERTENCIA: no se puede abrir el archivo de configuración: C: / OpenSSL-Win64 / bin / openssl.cnf Y no se puede cargar información de configuración desde C: / OpenSSL-Win64 / bin / openssl.cnf

2. [Trabajó con advertencia]

C:/OpenSSL-Win64/bin> openssl req -new -key server.key -out server.csr -config C:/OpenSSL-Win64/bin/openssl.cfg

[Mensaje de advertencia]: ADVERTENCIA: no se puede abrir el archivo de configuración: C: / OpenSSL-Win64 / bin / openssl.cnf

Pero me impulsó a utilizar la Frase Pass para server.key Me funcionó .

Me referí, este enlace para mi ayuda.

Gracias.


En mi caso, necesito establecer manualmente la ruta del archivo openssl.cnf en el comando usando la opción de config . Entonces el comando

openssl req -x509 -config "C:/Users/sk/Downloads/openssl-0.9.8k_X64/openssl.cnf" -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 900


Lo único que funcionó para mí en esta situación fue el archivo openssl.cnf creado por mí mismo .

Estos son los aspectos básicos necesarios para este ejercicio (edite según sea necesario):

# # OpenSSL configuration file. # # Establish working directory. dir = . [ ca ] default_ca = CA_default [ CA_default ] serial = $dir/serial database = $dir/certindex.txt new_certs_dir = $dir/certs certificate = $dir/cacert.pem private_key = $dir/private/cakey.pem default_days = 365 default_md = md5 preserve = no email_in_dn = no nameopt = default_ca certopt = default_ca policy = policy_match [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional [ req ] default_bits = 1024 # Size of keys default_keyfile = key.pem # name of generated keys default_md = md5 # message digest algorithm string_mask = nombstr # permitted characters distinguished_name = req_distinguished_name req_extensions = v3_req [ req_distinguished_name ] # Variable name Prompt string #------------------------- ---------------------------------- 0.organizationName = Organization Name (company) organizationalUnitName = Organizational Unit Name (department, division) emailAddress = Email Address emailAddress_max = 40 localityName = Locality Name (city, district) stateOrProvinceName = State or Province Name (full name) countryName = Country Name (2 letter code) countryName_min = 2 countryName_max = 2 commonName = Common Name (hostname, IP, or your name) commonName_max = 64 # Default values for the above, for consistency and less typing. # Variable name Value #------------------------ ------------------------------ 0.organizationName_default = My Company localityName_default = My Town stateOrProvinceName_default = State or Providence countryName_default = US [ v3_ca ] basicConstraints = CA:TRUE subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer:always [ v3_req ] basicConstraints = CA:FALSE subjectKeyIdentifier = hash

Fuente de la plantilla

Espero que eso ayude.


Para mí en Windows 8, simplemente encontré el archivo openssl.cnf y lo copié en la unidad C. entonces:

openssl req -new -key server.key -out server.csr -config C:/openssl.cnf

Funcionó perfectamente


Para mí poner variable antes de llamar hizo el truco:

OPENSSL_CONF=/usr/ssl/openssl.cnf openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365


Si está utilizando Win32 OpenSSL v1.1.0g , configurando esta variable de entorno:

set OPENSSL_CONF=C:/OpenSSL-Win32/bin/cnf/openssl.cnf

Antes de ejecutar este comando con "server.key" , crea con éxito "server.csr" :

openssl req -new -key server.key -out server.csr