156 votes

Impossible d'ouvrir le fichier de configuration : /usr/local/ssl/openssl.cnf sous Windows

J'ai installé OpenSSL 64. Je veux utiliser un certificat pour mon serveur https nodejs. J'ai exécuté la commande suivante :

openssl genrsa -out subdomain.domain.com.key 1024

Mais j'ai obtenu l'erreur :

WARNING: can't open config file: /usr/local/ssl/openssl.cnf
Loading 'screen' into random state - done
Generating RSA private key, 1024 bit long modulus
.........++++++
.........................................++++++
unable to write 'random state'
e is 65537 (0x10001)

Comment puis-je le résoudre ?
Est-ce que c'est la bonne commande ?

278voto

DavAlPi Points 476

La solution consiste à exécuter cette commande :

set OPENSSL_CONF=C:\OpenSSL-Win32\bin\openssl.cfg   

o

set OPENSSL_CONF=[path-to-OpenSSL-install-dir]\bin\openssl.cfg

dans l'invite de commande avant d'utiliser openssl commandement.

Soit openssl savoir avec certitude où trouver son .cfg fichier.

Vous pouvez également définir la même variable OPENSSL_CONF dans les variables d'environnement de Windows.

REMARQUE : Cela peut se produire lorsque l'on utilise le Distribution binaire OpenSSL de Shining Light Productions (une version compilée + installateur de l'OpenSSL officiel qui peut être téléchargée et utilisée gratuitement). Cette distribution est liée "semi-officiellement" au site d'OpenSSL en tant que "service principalement destiné aux systèmes d'exploitation où il n'existe pas de paquetages OpenSSL précompilés".

24voto

komu_Mkeya Points 1

J'ai SSL sur Apache2.4.4 et l'exécution de ce code au début, a fait l'affaire :
set OPENSSL_CONF=C:\wamp\bin\apache\Apache2.4.4\conf\openssl.cnf

puis exécuter le reste des codes..

11voto

Steven Penny Points 18523

/usr/local/ssl/openssl.cnf

Un chemin comme celui-ci signifie que le programme a été compilé avec Cygwin ou MSYS. Si vous devez utiliser ce openssl alors vous aurez besoin d'un interpréteur qui comprend ces chemins, comme Bash, qui est fourni par Cygwin ou MSYS.

Une autre option serait de télécharger ou de compiler une version native Windows de openssl . En utilisant cela, le programme exigerait plutôt un chemin d'accès tel que

C:\Users\Steven\ssl\openssl.cnf

qui serait mieux adapté à l'Invite de commande.

7voto

FlyBy Points 71

Dans mon cas, j'ai utilisé les binaires de Shining Light et les variables d'environnement étaient déjà mises à jour. Mais le problème est resté jusqu'à ce que je lance une fenêtre de commande avec des privilèges élevés.

Lorsque vous ouvrez la fenêtre CMD, veillez à l'exécuter en tant qu'administrateur. (Cliquez avec le bouton droit de la souris sur l'invite de commande dans le menu Démarrer et choisissez "Exécuter en tant qu'administrateur").

Je pense qu'il ne peut pas lire les fichiers à cause du contrôle de compte d'utilisateur.

5voto

snm-yah Points 2067

SOLUTION !

il suffit de mettre -config l'emplacement du paramètre correctement, c'est-à-dire :

openssl ....................  -config C:\bin\apache\apache2.4.9\conf\openssl.cnf

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X