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?
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".
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 ..
/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.
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.
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
_
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é ..
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.