在Windows上使用OpenSSL:
openssl genrsa -out privatekey.pem 1024 -->
创建成功。
openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365
---->
显示错误信息为
无法从 /usr/local/ssl/openssl.cnf 加载配置信息。
在Windows上使用OpenSSL:
openssl genrsa -out privatekey.pem 1024 -->
创建成功。
openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365
---->
显示错误信息为
无法从 /usr/local/ssl/openssl.cnf 加载配置信息。
安装 OpenSSL 后,我需要创建一个新的环境变量:
OPENSSL_CONF
C:\Program Files\OpenSSL\openssl.cnf
在 Powershell 中:
$env:OPENSSL_CONF = "${env:ProgramFiles}\OpenSSL\openssl.cnf"
这个值与之前的安装版本不同(如在此帖子的先前编辑中看到)。此外,不要忘记将openssl二进制文件夹${env:ProgramFiles}\OpenSSL
添加到您的路径中。
C:\Program Files (x86)\Git\ssl\openssl.cfg
。 - kspearrinSETX OPENSSL_CONF c:/libs/openssl-0.9.8k/openssl.cnf
- Ross Presser你应该指定配置文件的绝对路径,例如:
openssl req -x509 -config "C:\OpenSSL-Win64\bin\openssl.cnf" ...
-config "C:\Program Files (x86)\Git\ssl\openssl.cnf"
。 - Joel B-config
标志,这对我很有效。 - danjah在Windows 10中,无需重新启动或以管理员模式运行,而是需要将openssl配置设置为以下方式:
set OPENSSL_CONF=C:\Program Files (x86)\GnuWin32\share\openssl.cnf
当然,如果你正在使用GnuWin32
在这种情况下,唯一有效的方法是使用自己创建的 openssl.cnf 文件。以下是此练习所需的基础知识(根据需要进行编辑):
#
# 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
我希望那能有所帮助。
openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365 -config openssl.cnf
。 - JimboC:\OpenSSL-Win64\bin>openssl req -new -key server.key -out server.csr
警告:无法打开配置文件:C:\OpenSSL-Win64\bin\openssl.cnf 并且 无法从C:\OpenSSL-Win64\bin\openssl.cnf加载配置信息
2. [带有警告的工作]
C:\OpenSSL-Win64\bin> openssl req -new -key server.key -out server.csr -config C:\OpenSSL-Win64\bin\openssl.cfg
[警告信息]: 警告: 无法打开配置文件: C:\OpenSSL-Win64\bin\openssl.cnf
但是它提示我输入服务器密钥的密码短语,这对我来说有效。
我参考了这个链接以获得帮助。
谢谢。
对于我在Windows 8上,我只是找到了openssl.cnf文件并将其复制到了C驱动器中。然后:
openssl req -new -key server.key -out server.csr -config C:\openssl.cnf
运行完美。
使用GnuWin32工具,我在C:\gnuwin32\share下找到了openssl.cnf文件。
set OPENSSL_CONF=C:\gnuwin32\share\openssl.cnf
在我的情况下,我需要手动使用config
选项在命令中设置openssl.cnf文件的路径。因此,命令为
openssl req -x509 -config "C:\Users\sk\Downloads\openssl-0.9.8k_X64\openssl.cnf" -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 900