警告:无法打开配置文件:./bin/openssl.cnf
Posted
技术标签:
【中文标题】警告:无法打开配置文件:./bin/openssl.cnf【英文标题】:WARNING: can't open config file: ./bin/openssl.cnf 【发布时间】:2015-10-26 15:36:39 【问题描述】:制作证书
然后按回车就会出现这个错误。
我尝试了提供的解决方案,但对我不起作用。
例如:设置 OPENSSL_CONF=c:/OpenSSL_Win64/bin/openssl.cnf
<pre>WARNING: can't open config file: ./bin/openssl.cnf
Unable to load config info from ./bin/openssl.cnf
WARNING: can't open config file: ./bin/openssl.cnf
Error opening Private Key privkey.pem
5344:error:02001002:system library:fopen:No such file or directory:.\crypto\bio\
bss_file.c:398:fopen('privkey.pem','rb')
5344:error:20074002:BIO routines:FILE_CTRL:system lib:.\crypto\bio\bss_file.c:40
0:
unable to load Private Key
WARNING: can't open config file: ./bin/openssl.cnf
Loading 'screen' into random state - done
server.csr: No such file or directory
Could Not Find C:\xampp\apache\.rnd
Could Not Find C:\xampp\apache\privkey.pem
Could Not Find C:\xampp\apache\server.csr
The system cannot find the file specified.
The system cannot find the file specified.
-----
Das Zertifikat wurde erstellt.
The certificate was provided.</pre>
【问题讨论】:
您忘记在 Windows 上为 OpenSSL 正确添加系统环境变量!您可能将其设置为错误的路径,或者您忘记以管理员身份运行 CMD! 【参考方案1】:安装应用程序 penSSL_Win64 时,将位于 C:\Program Files\OpenSSL-Win64 因此,您需要使用控制台命令设置此路径并写入: 设置 OPENSSL_CONF=C:\Program Files\OpenSSL-Win64\bin\openssl.cfg
【讨论】:
似乎没有工作(更新到正确的路径)【参考方案2】:在正确的位置手动创建一个openssl.cnf文件可以解决问题。
Here 是一个文件模板(根据需要编辑):
#
# 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
【讨论】:
【参考方案3】:解释你的问题
这个错误主要出现在Windows电脑上当你使用OpenSSL包或者the Windows installer!
原因是OpenSSL找不到openssl.cnf文件!
分步说明
我建议您执行以下操作(仅限 Windows):
以管理员身份打开您的命令提示符(很少有 OpenSSL 命令以随机状态打开),因此当 OpenSSL 尝试在您的磁盘上写入内容时它会失败。
试试这个简单快捷的方法:用打开运行对话框,输入cmd
然后点击
现在,在您运行任何 OpenSSL 命令之前,请键入以下内容:
set OPENSSL_CONF=c:\[PATH TO YOUR OPENSSL DIRECTORY]\bin\openssl.cfg
C:\OpenSSL-Win32\bin\openssl.cfg
。对于 Windows(x64 位),请使用 C:\OpenSSL-Win64\bin\openssl.cfg
!
完成此操作后,您就可以开始使用 OpenSSL 了。试试openssl version
,错误就消失了。
请记住,每次打开命令提示符时都必须运行上述命令,除非您将其设置为环境变量。
解决您的问题
您的问题可能是:
您将环境变量设置到文件夹OpenSSL_Win64
。应该是OpenSSL-Win64
!
您可能忘记了以管理员身份运行命令提示符!
您将环境变量设置为文件openssl.cnf
,但它必须是openssl.cfg
!
有用的网站
另请阅读:
WARNING: can’t open config file: /usr/local/ssl/openssl.cnf on Windows 7(针对您的问题的另一个详细说明) How To Add/Edit Environment Variables in Windows 7(如果您想在 Windows 上永久设置环境变量,这很有帮助!)【讨论】:
谢谢!我安装了 64 位版本,但是从安装 32 位的人那里复制了 SET 命令,所以它是错误的文件路径。以上是关于警告:无法打开配置文件:./bin/openssl.cnf的主要内容,如果未能解决你的问题,请参考以下文章
什么是 keycharmap 文件?为什么我收到“无法打开 keycharmap 文件”警告?
可以在 Visual Studio 2010 中抑制“无法找到或打开 PDB 文件”警告吗?
警告:无法打开流:第 17 行的 C:\wamp\www\laravel\bootstrap\autoload.php 中没有这样的文件或目录