[windows] Windows의 /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
를 Path 에 추가하는 것을 잊지 마십시오 .
답변
다음과 같이 구성의 절대 경로를 지정해야합니다.
openssl req -x509 -config "C:\OpenSSL-Win64\bin\openssl.cnf" ...
답변
Windows 10에서는 관리자 모드에서 다시 시작하거나 실행할 필요가 없지만 openssl 구성을 다음과 같이 설정하십시오.
set OPENSSL_CONF=C:\Program Files (x86)\GnuWin32\share\openssl.cnf
물론 사용하고 있다면 GnuWin32
답변
Windows에서 [ 유사한 시나리오 ]
같은 문제에 직면했지만 인증서 서명 요청을 요청하는 중이었습니다.
나는 아래를했다, 그것은 나를 위해 일했다.
OpenSSL이 설치되면 시스템을 재부팅 한 후 관리자 권한으로 명령 프롬프트를 실행합니다. [내가 최선을 다하려면 관리자와 시스템 재부팅으로 실행]
1. [오류 사례]
C:\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
하지만 저를 묻는 메시지가 전달 구 그것은은 server.key을 위해 일을 나를 위해.
나는이 링크 를 통해 도움을 받았다.
감사합니다.
답변
만 이 상황에서 나를 위해 일한 것은이었다 자기가 만든 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을 설치 한 후 컴퓨터를 다시 시작하고을 사용해야 Run As Administrator
합니다. 그런 다음 작동합니다.
답변
GnuWin32 도구를 사용하여 C : \ gnuwin32 \ share에서 openssl.cnf를 찾았습니다.
set OPENSSL_CONF=C:\gnuwin32\share\openssl.cnf