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
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