tutorial sources para descargar cnf windows configuration openssl environment-variables
download

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:

  1. Descargue los binarios de OpenSSL here . (Tenga en cuenta que se confirma que esto funciona con la versión 0.9.8h).
  2. 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

  3. 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.
  4. 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