sources - openssl.cnf windows
OpenSSL y error al leer el archivo openssl.conf (13)
Estoy ejecutando Windows XP 32 bits
Acabo de descargar Openssl de la siguiente URL y lo instalé. http://www.slproweb.com/products/Win32OpenSSL.html
y luego traté de crear un certificado autofirmado usando el siguiente comando
openssl req -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem
entonces comenzó a dar el siguiente error
No se ha podido cargar la información de configuración de /usr/local/ssl/openssl.cnf
Luego, después de googlear alguna vez, cambié el comando anterior a
openssl req -config C:/OpenSSL/bin/openssl.conf -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem
Pero ahora obtengo el siguiente error en el símbolo del sistema
error en la línea -1 de C: / OpenSSL / bin / openssl.conf
4220: error: 02001002: biblioteca del sistema: fopen: Ningún archivo o directorio:. / Crypto / bio / bss_file.c: 126: fopen (''C: / OpenSSL / bin / openssl.conf'', ''rb'') 4220: error: 2006D080: rutinas BIO: BIO_nuevo archivo: no existe ese archivo:. / crypto / bio / bss_file.c: 129:
4220: error: 0E078072: rutinas del archivo de configuración: DEF_LOAD: no existe el archivo:. / Crypto / conf / conf_def.c: 197:
Por favor ayuda. Gracias por adelantado.
Acabo de tener un error similar con el archivo openssl.exe de Apache para la carpeta bin de Windows. Tenía el distintivo -config especificado por un error tipográfico en la ruta del archivo openssl.cnf. Creo que encontrarás eso
openssl req -config C:/OpenSSL/bin/openssl.conf -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem
debiera ser
openssl req -config "C:/OpenSSL/bin/openssl.cnf" -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem
Nota: la conf probablemente debería ser cnf .
Ejecute el comando como administrador y copie el archivo de configuración en algún lugar donde tenga derechos de lectura y especifique la ruta con el parámetro -config.
El problema aquí es que NO HAY un archivo openssl.cnf dado con las cosas GnuWin32 openssl. Tienes que crearlo. Para averiguar cómo crear un archivo openssl.cnf, vaya aquí:
http://www.flatmtn.com/article/setting-ssl-certificates-apache
Donde se explica todo sobre cómo hacerlo.
TENGA EN CUENTA: El comando openssl dado con la barra invertida al final es para UNIX. Para Windows: 1) Retire la barra diagonal inversa, y 2) Mueva la segunda línea hacia arriba para que esté al final de la primera línea. (Así que obtienes solo un comando)
TAMBIÉN: es MUY importante leer los comentarios. Hay algunos cambios que puede querer hacer basados en ellos.
En Windows también puede establecer la propiedad de entorno OPENSSL_CONF
. Por ejemplo, desde la línea de comandos puede escribir:
set OPENSSL_CONF=c:/libs/openssl-0.9.8k/openssl.cnf
para validarlo puedes escribir:
echo %OPENSSL_CONF%
También puede configurarlo como parte de las variables ambientales de la computadora para que todos los usuarios y servicios lo tengan disponible de forma predeterminada. Consulte, por ejemplo, Variables de entorno en Windows NT y Cómo administrar variables de entorno en Windows XP .
Ahora puede ejecutar comandos openssl sin tener que pasar el parámetro de ubicación de configuración.
Esta solución nos ayudó mucho en mi trabajo (soporte técnico), creamos un archivo por lotes simple que podíamos ejecutar desde cualquier lugar (no teníamos los permisos para instalarlo). Esta solución configurará la variable y luego ejecutará OpenSSL por usted. También abre la carpeta bin por usted (porque aquí es donde se guardarán todos los archivos que cree o modifique). Además, esto es solo para Windows.
Como instalar:
- Descargue los binarios de OpenSSL here . (Tenga en cuenta que se confirma que esto funciona con la versión 0.9.8h).
Copie este código en un archivo llamado StartOpenSSL.bat. Guarde esto en la ubicación que elija. Se puede ejecutar desde cualquier lugar.
@echo off title OpenSSL cd/openssl/bin if exist "C:/openssl/share/openssl.cnf" ( set OPENSSL_CONF=c:/openssl/share/openssl.cnf start explorer.exe c:/openssl/bin echo Welcome to OpenSSL openssl ) else ( echo Error: openssl.cnf was not found echo File openssl.cnf needs to be present in c:/openssl/share pause ) exit
- Una vez que haya descargado los binarios de OpenSSL, extráigalos a su unidad C en una carpeta llamada OpenSSL. (La ruta debe ser C: / OpenSSL). No mueva el contenido de ninguna de las carpetas, simplemente extráigalos a la carpeta.
- Usted está listo para usar OpenSSL. Esta es una gran solución para los usuarios de Windows que no tienen los privilegios para instalarlo ya que no requiere permisos. Simplemente ejecute el archivo bat desde antes haciendo doble clic en él.
Intente ejecutar openssl.exe como administrador.
Si ha instalado Apache con OpenSSL navegue al directorio bin. En mi caso D: / apache / bin.
* Estos comandos también funcionan si tiene una instalación independiente de openssl.
Ejecute estos comandos:
openssl req -config d:/apache/conf/openssl.cnf -new -out d:/apache/conf/server.csr -keyout d:/apache/conf/server.pem
openssl rsa -in d:/apache/conf/server.pem -out d:/apache/conf/server.key
openssl x509 -in d:/apache/conf/server.csr -out d:/apache/conf/server.crt -req -signkey d:/apache/conf/server.key -days 365
* Esto creará un certificado autofirmado que puede usar para fines de desarrollo
De nuevo, si tiene Apache instalado en el httpd.conf, pegue estos:
<IfModule ssl_module>
SSLEngine on
SSLCertificateFile "D:/apache/conf/server.crt"
SSLCertificateKeyFile "D:/apache/conf/server.key"
</IfModule>
Si la instalación de openssl fue exitosa, busque "OPENSSL" en la unidad c para ubicar el archivo de configuración y establecer la ruta.
set OPENSSL_CONF=<location where cnf is available>/openssl.cnf
Funcionó para mí.
Si ve un error algo así como
error en la línea -1 c: apacheconfopenssl.cnf
intente cambiar de barra invertida a barra frontal en -config.
Simplemente agregue a su línea de comando el parámetro -config c:/your_openssl_path/openssl.cfg
, cambiando your_openssl_path
a la ruta real instalada.
Simplemente cree un archivo openssl.cnf usted mismo en el paso 4: http://www.flatmtn.com/article/setting-openssl-create-certificates
Editar después de que el enlace dejó de funcionar El contenido del archivo openssl.cnf fue el siguiente:
#
# 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
Todavía puede encontrar la página usando Waybackmachine: https://web.archive.org/web/20171108102046/http://www.flatmtn.com/article/setting-openssl-create-certificates
https://github.com/xgqfrms-gildata/App001/issues/3
- primero, asegúrese de tener un archivo
openssl.cnf
en el camino correcto; - si no puede encontrarlo, simplemente download uno y cópielo en su ruta de configuración.
$ echo %OPENSSL_CONF%
$ set OPENSSL_CONF=C:/OpenSSL/bin/openssl.cnf
set OPENSSL_CONF=c:/{path to openSSL}/bin/openssl.cfg
cuidar la extensión correcta ( openssl.cfg not cnf)!
He instalado OpenSSL desde aquí: http://slproweb.com/products/Win32OpenSSL.html