Je suis sous Windows XP 32bit
Je viens de télécharger Openssl à partir de l’URL suivante et de l’installer . http://www.slproweb.com/products/Win32OpenSSL.html
et puis j'ai essayé de créer un certificat auto-signé en utilisant la commande suivante
openssl req -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem
alors il a commencé à donner l'erreur suivante
Impossible de charger les informations de configuration depuis /usr/local/ssl/openssl.cnf
Puis, après avoir googlé quelque temps, j'ai changé la commande ci-dessus en
openssl req -config C:\OpenSSL\bin\openssl.conf -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem
Mais maintenant, je reçois l'erreur suivante dans l'invite de commande
erreur sur la ligne -1 de C:\OpenSSL\bin\openssl.conf
4220: erreur: 02001002: bibliothèque système: fopen: Aucun fichier de ce type ou répertoire:.\crypto\bio\bss_file.c: 126: fopen ('C:\OpenSSL\bin\openssl.conf', 'rb') 4220: erreur: 2006D080: routines BIO: BIO_new_file: no such fichier:.\crypto\bio\bss_file.c: 129:
4220: erreur: 0E078072: routines du fichier de configuration: DEF_LOAD: pas de fichier:.\crypto\conf\conf_def.c: 197:
S'il vous plaît, aidez-moi ... Merci d'avance.
Sous Windows, vous pouvez également définir la propriété d'environnement OPENSSL_CONF
. Par exemple, à partir de la ligne de commande, vous pouvez taper:
set OPENSSL_CONF=c:/libs/openssl-0.9.8k/openssl.cnf
pour le valider vous pouvez taper:
echo %OPENSSL_CONF%
Vous pouvez également le définir en tant que partie intégrante des variables d'environnement de l'ordinateur afin qu'il soit disponible par défaut pour tous les utilisateurs et services. Voir, par exemple, Variables d'environnement dans Windows NT et Comment gérer les variables d'environnement dans Windows XP .
Vous pouvez maintenant exécuter des commandes openssl sans avoir à passer le paramètre config location.
Ajoutez simplement à votre ligne de commande le paramètre -config c:\your_openssl_path\openssl.cfg
, en remplaçant your_openssl_path
par le chemin réellement installé.
Créez simplement un fichier openssl.cnf vous-même, à l’étape 4: http://www.flatmtn.com/article/setting-openssl-create-certificates
Edit après que le lien a cessé de fonctionner Le contenu du fichier openssl.cnf était le suivant:
#
# 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
Vous pouvez toujours trouver la page en utilisant Waybackmachine: https://web.archive.org/web/20171108102046/http://www.flatmtn.com/article/setting-openssl-create-certificates
Essayez simplement d’exécuter openssl.exe en tant qu’administrateur.
set OPENSSL_CONF=c:/{path to openSSL}/bin/openssl.cfg
prenez soin de la bonne extension (openssl.cfg not cnf)!
J'ai installé OpenSSL à partir d'ici: http://slproweb.com/products/Win32OpenSSL.html
Si vous avez installé Apache avec OpenSSL, accédez au répertoire bin. Dans mon cas, D:\Apache\bin.
* Ces commandes fonctionnent également si vous avez une installation autonome d’openssl.
Exécutez ces commandes:
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
* Ceci créera un certificat auto-signé que vous pourrez utiliser à des fins de développement
Encore une fois, si vous avez Apache installé dans le fichier httpd.conf, collez-le:
<IfModule ssl_module>
SSLEngine on
SSLCertificateFile "D:/Apache/conf/server.crt"
SSLCertificateKeyFile "D:/Apache/conf/server.key"
</IfModule>
Je viens d'avoir une erreur similaire en utilisant le fichier openssl.exe du dossier Apache pour Windows bin. J'avais l'indicateur -config spécifié par avait une faute de frappe dans le chemin du fichier openssl.cnf. Je pense que vous allez trouver ça
openssl req -config C:\OpenSSL\bin\openssl.conf -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem
devrait être
openssl req -config "C:\OpenSSL\bin\openssl.cnf" -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem
Remarque: le conf devrait probablement être cnf.
Si l'installation de openssl a réussi, recherchez "OPENSSL" dans le lecteur c pour localiser le fichier de configuration et définir le chemin.
set OPENSSL_CONF=<location where cnf is available>/openssl.cnf
Cela a fonctionné pour moi.
Le problème ici est qu’il n’EST PAS un fichier openssl.cnf fourni avec le fichier opensn de GnuWin32. Vous devez le créer. Vous pouvez trouver comment créer un fichier openssl.cnf en allant ici:
http://www.flatmtn.com/article/setting-ssl-certificates-Apache
Où tout est prévu pour vous et comment le faire.
VEUILLEZ NOTER: La commande openssl donnée avec la barre oblique inverse à la fin est destinée à UNIX. Pour Windows: 1) Supprimez la barre oblique inverse et 2) Déplacez la deuxième ligne vers le haut afin qu'elle se trouve à la fin de la première ligne. (Donc, vous obtenez juste une commande.)
AUSSI: Il est TRÈS important de lire les commentaires. Vous voudrez peut-être y apporter certains changements.
Cette solution de contournement nous a beaucoup aidés dans mon travail (support technique), nous avons créé un simple fichier de commandes que nous pourrions exécuter de n’importe où (nous n’avions pas les autorisations nécessaires pour l’installer). Cette solution de contournement définira la variable, puis exécutera OpenSSL pour vous. Il ouvre également le dossier bin pour vous (car c’est là que tous les fichiers que vous créez ou modifiez seront sauvegardés). En outre, cela ne concerne que Windows.
Copiez ce code dans un fichier nommé StartOpenSSL.bat. Enregistrez ceci dans un emplacement de votre choix. Il peut être exécuté de n'importe où.
@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
Si vous voyez une erreur quelque chose comme
erreur sur la ligne -1 c: apacheconfopenssl.cnf
essayez de changer de barre oblique en barre oblique dans le fichier -config.
https://github.com/xgqfrms-gildata/App001/issues/3
openssl.cnf
dans le bon chemin;$ echo %OPENSSL_CONF%
$ set OPENSSL_CONF=C:\OpenSSL\bin\openssl.cnf
Exécutez la commande en tant qu'administrateur, copiez le fichier de configuration dans un emplacement où vous disposez de droits de lecture et spécifiez le chemin avec le paramètre -config.
Je sais que c’est vieux, mais j’en ai pensé que d’autres pourraient en tirer parti (et utiliser Visual Studio). J'ai lu ceci sur un autre post que je n'arrive pas à trouver.
Ouvrez votre config dans notepad ++ et assurez-vous qu’il s’agit du codage UTF-8 (c’est-à-dire, pas UTF-8-BOM *).
Cela m'aurait épargné beaucoup de recherches/trial'n'errors ...
J'ai eu le même problème sous Windows. Cela a été résolu en définissant la variable d'environnement comme suit:
Nom de la variable: OPENSSL_CONF Valeur de la variable: C: (répertoire OpenSSl)\bin\openssl.cnf