it-swarm.it

OpenSSL e errore nella lettura del file openssl.conf

Sto usando Windows XP 32 bit

Ho appena scaricato Openssl dal seguente URL e l'ho installato . http://www.slproweb.com/products/Win32OpenSSL.html

e poi ho provato a creare un certificato autofirmato usando il seguente comando

openssl req -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem

poi ha iniziato a dare il seguente errore 

Impossibile caricare le informazioni di configurazione da /usr/local/ssl/openssl.cnf

Poi, dopo aver fatto ricerche su Google, ho cambiato il comando sopra 

openssl req -config C:\OpenSSL\bin\openssl.conf -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem

Ma ora ho il seguente errore nel comando Prompt

errore nella riga -1 di C:\OpenSSL\bin\openssl.conf
4220: errore: 02001002: libreria di sistema: fopen: nessun file o directory:.\Crypto\bio\bss_file.c: 126: fopen ( 'C:\OpenSSL\bin\openssl.conf', 'rb') 4220: errore: 2006D080: routine BIO: BIO_new_file: non tale File:.\Crypto\bio\bss_file.c: 129:
4220: errore: 0E078072: routine di file di configurazione: DEF_LOAD: non tale File:.\Crypto\conf\conf_def.c: 197:

Per favore aiuto . Grazie in anticipo.

101
Sreeram

Su Windows è anche possibile impostare la proprietà dell'ambiente OPENSSL_CONF. Ad esempio dalla riga di comando è possibile digitare:

set OPENSSL_CONF=c:/libs/openssl-0.9.8k/openssl.cnf

per convalidarlo puoi digitare:

echo %OPENSSL_CONF%

Puoi anche impostarlo come parte delle variabili ambientali del computer in modo tale che tutti gli utenti e i servizi lo abbiano disponibile per impostazione predefinita. Vedi, per esempio, Variabili d'ambiente in Windows NT e Come gestire le variabili d'ambiente in Windows XP .

Ora puoi eseguire i comandi openssl senza dover passare il parametro posizione di configurazione.

128
dvtoever

Basta aggiungere alla riga di comando il parametro -config c:\your_openssl_path\openssl.cfg, cambiando your_openssl_path al vero percorso installato.

37
Nikl

Basta creare un file openssl.cnf come questo al punto 4: http://www.flatmtn.com/article/setting-openssl-create-certificates

Modifica dopo il collegamento ha smesso di funzionare Il contenuto del file openssl.cnf era il seguente:

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

Puoi ancora trovare la pagina utilizzando Waybackmachine: https://web.archive.org/web/20171108102046/http://www.flatmtn.com/article/setting-openssl-create-certificates

21
Sam

Basta provare a eseguire openssl.exe come amministratore.

12
Serghei Grajdean
set OPENSSL_CONF=c:/{path to openSSL}/bin/openssl.cfg

prenditi cura dell'estensione giusta (openssl.cfg not cnf)!

Ho installato OpenSSL da qui: http://slproweb.com/products/Win32OpenSSL.html

11
user669677

Se hai installato Apache con OpenSSL, vai alla directory bin. Nel mio caso D:\Apache\bin.

* Questi comandi funzionano anche se hai un'installazione indipendente di openssl.

Esegui questi comandi:

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

* Questo creerà un certificato autofirmato che potrai utilizzare a scopo di sviluppo

Di nuovo, se Apache è installato nella httpd.conf stick, questi:

  <IfModule ssl_module>
    SSLEngine on
    SSLCertificateFile "D:/Apache/conf/server.crt"
    SSLCertificateKeyFile "D:/Apache/conf/server.key"
  </IfModule>
10
Artur Kędzior

Ho appena avuto un errore simile usando openssl.exe dalla cartella bin di Apache per Windows. Ho avuto il flag -config specificato da un errore di battitura nel percorso del file openssl.cnf. Penso che lo troverai

openssl req -config C:\OpenSSL\bin\openssl.conf -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem

dovrebbe essere

openssl req -config "C:\OpenSSL\bin\openssl.cnf" -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem

Nota: conf dovrebbe probabilmente essere cnf.

7
Nic Cottrell

Il problema qui è che NON c'è un file openssl.cnf fornito con le cose di openssl di GnuWin32. Devi crearlo. Puoi scoprire come creare un file openssl.cnf andando qui:

http://www.flatmtn.com/article/setting-ssl-certificates-Apache

Dove pone tutto per te su come farlo.

NOTA BENE: il comando openssl fornito con la barra rovesciata alla fine è per UNIX. Per Windows: 1) Rimuovere la barra rovesciata, e 2) Spostare la seconda linea in modo che sia alla fine della prima riga. (Quindi ottieni solo un comando.)

ANCHE: è MOLTO importante leggere i commenti. Ci sono alcuni cambiamenti che potresti voler fare basandoti su di loro.

2
Mark Manning

Questo workaround ci ha aiutato moltissimo nel mio lavoro (supporto tecnico), abbiamo creato un semplice file batch che potevamo eseguire da qualsiasi luogo (non disponevamo delle autorizzazioni per installarlo). Questa soluzione alternativa imposterà la variabile e quindi eseguirà OpenSSL per te. Si apre anche la cartella bin per te (perché qui è dove verranno salvati tutti i file che crei o modifichi). Inoltre, questo è solo per Windows.

Come impostare:

  1. Scarica i binari di OpenSSL qui . (Si noti che questo è confermato per funzionare con la versione 0.9.8h.)
  2. Copia questo codice in un file denominato StartOpenSSL.bat. Salva questo in una posizione a tua scelta. Può essere eseguito da qualsiasi luogo.

    @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 volta scaricati i binari di OpenSSL, estraili nell'unità C in una cartella denominata OpenSSL. (Il percorso deve essere C:\OpenSSL). Non spostare alcun contenuto delle cartelle in giro, semplicemente estrailo nella cartella.
  4. Sei pronto per usare OpenSSL. Questa è una soluzione eccellente per gli utenti Windows che non dispongono dei privilegi per installarlo in quanto non richiede autorizzazioni. Basta eseguire il file bat da prima facendo doppio clic su di esso.
1
Rex Linder

Se vedi un errore qualcosa di simile 

errore sulla linea -1 c: apacheconfopenssl.cnf

prova a passare dalla barra rovesciata alla barra frontale in -config.

1
Jauyzed

https://github.com/xgqfrms-gildata/App001/issues/3

  1. per prima cosa assicurati di avere un file openssl.cnf nel percorso corretto;
  2. se non riesci a trovarlo, solo download one e copialo sul percorso delle impostazioni.
$ echo %OPENSSL_CONF%

$ set OPENSSL_CONF=C:\OpenSSL\bin\openssl.cnf
0
xgqfrms

Esegui il comando come amministratore e copia il file di configurazione in un punto in cui hai i diritti di lettura e specifica il percorso con il parametro -config.

0
Dexion

So che questo è vecchio - ma ho pensato che gli altri su questo (e uso di Visual Studio) potrebbero trarne beneficio. Ho letto questo su un altro post che non riesco a trovare.

Apri la tua configurazione in notepad ++ e assicurati che la codifica sia UTF-8 (cioè non UTF-8-BOM *).

Questo mi avrebbe risparmiato un sacco di ricerche/tentativi d'errore ...

0
jimnkey