web-dev-qa-db-fra.com

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

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

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

Mais j'ai 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 la bonne commande?

134
Himanshu Yadav

La solution exécute cette commande:

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

ou

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

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

Laissez openssl savoir où trouver son fichier .cfg.

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

REMARQUE: Cela peut arriver lorsque vous utilisez distribution binaire OpenSSL de Shining Light Productions (version compilée + programme d'installation de OpenSSL officiel téléchargeable et utilisable gratuitement). Cette distribution est "semi-officiellement" liée depuis le site OpenSSL en tant que "service principalement destiné aux systèmes d'exploitation pour lesquels il n'existe pas de packages OpenSSL précompilés".

238
DavAlPi

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

puis exécutez les codes de repos ..

16
komu_Mkeya

/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 ceci openssl, vous aurez besoin d'un interpréteur comprenant ces chemins, comme Bash, fourni par Cygwin ou MSYS.

Une autre option serait de télécharger ou de compiler une version Windows native de openssl. En utilisant cela, le programme nécessiterait plutôt un chemin comme

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

qui conviendrait mieux pour l'invite de commande.

8
Steven Penny

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

Lorsque vous ouvrez la fenêtre CMD, assurez-vous de 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.

7
FlyBy

SOLUTION!

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

_openssl ....................  -config C:\bin\Apache\apache2.4.9\conf\openssl.cnf
_
4
T.Todua

Je ne sais pas quelle est la différence entre .cfg et .cnf. Sur mon serveur, je n'ai pas pu trouver .cfg ou .cnf. J'avais créé un nouveau fichier pour le identique et l'avais placé dans le dossier suivant /usr/local/ssl/bin

exécuté le

.\openssl genrsa -des3 -out <key name>.key 2048 

s'est bien passé ..

3
Dev

Installez simplement Win64 OpenSSL v1.0.2a ou Win32 OpenSSL v1.0.2a, vous pouvez les télécharger à partir de http://slproweb.com/products/Win32OpenSSL.html . Fonctionne hors de la boîte, aucune configuration requise.

1
autremoi