Windows용 openssl.conf 생성
7014 단어 opensslwindowscertificatelinux
기본 openssl.conf에서 변경할 부분:
기본openssl.conf을 생성하려면 Jamie의 놀라운article이 좋은 출발점이 될 것입니다.
원본 Windows 인증서와 Linux에서 OpenSSL을 사용하여 만든 인증서 사이에는 많은 차이점이 있습니다.
차이 1 → 발행자:
발급자는 인증서에서 가장 중요한 필드 중 하나입니다. Windows에서 직접 만든 인증서를 수락하려면 이를 올바르게 해석해야 합니다.
기본 openssl.conf로 생성된 인증서와 원본 Windows 인증서의 차이점:
차이점 1에 대한 솔루션:
이 부분에서는 req 명령에 대한 섹션을 정의합니다.
default_bits, default_md 부분을 편집할 수 있습니다. 그러나 가장 중요한 것은 req_distinguished_name 섹션을 편집하여 DN을 형성하는 방법을 변경할 수 있다는 것입니다.
기본 [ req ] 부분은 다음과 유사합니다.
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
string_mask = utf8only
default_md = sha256
x509_extensions = v3_ca
해당 기본값 [ req_distinguished_name ] :
[ req_distinguished_name ]
# See <https://en.wikipedia.org/wiki/Certificate_signing_request>.
countryName = Country Name (2 letter code)
stateOrProvinceName = State or Province Name
localityName = Locality Name
0.organizationName = Organization Name
organizationalUnitName = Organizational Unit Name
commonName = Common Name
emailAddress = Email Address
보시다시피 countryName, stateOrProvinceName, localityName과 같은 많은 필드가 있습니다.
이것이 바로 OpenSSL로 생성된 인증서의 'Issuer' 필드에 많은 정보가 표시되는 이유입니다.
편집된 [ req_distinguished_name ]은 다음과 유사해야 합니다.
[ req_distinguished_name ]
1.DC = com
0.DC = company
DC = subdomain
commonName = Common Name
그리고 사용자는 해당 순서대로 입력해야 합니다.
결과적으로 유효한 발급자를 성공적으로 생성했습니다.
차이점 2 → 누락된 필드:
"인증서 템플릿 이름"및 "CA 버전"의 두 필드는 Linux에서 OpenSSL로 생성된 인증서에서 사용할 수 없습니다.
손으로 만든 OpenSSL 인증서를 수락하도록 Windows를 속일 때 어떤 필드를 정확하게 검사하는지 알기는 어렵지만 인증서를 원본과 똑같이 보이게 하는 것이 좋은 방법이라고 생각합니다.
차이점 2에 대한 솔루션:
먼저 openssl.conf 파일 상단에서 OID를 정의합니다.
oid_section = OIDs
[ OIDs ]
certificateTemplateName = 1.3.6.1.4.1.311.20.2
caVersion = 1.3.6.1.4.1.311.21.1
We can skip the definition of the OID's and use the OID directly, of course. But defining them first and using them as variables would be a good practice.
둘째, [ reg ]에서 새 요구 사항을 생성합니다. v3_req라고 가정해 보겠습니다.
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
string_mask = default
default_md = sha256
x509_extensions = v3_ca
req_extensions = v3_req
마지막으로 [ v3_req ]를 정의합니다.
[ v3_req ]
subjectKeyIdentifier = hash
basicConstraints = critical, CA:true
keyUsage = digitalSignature, cRLSign, keyCertSign
certificateTemplateName = ASN1:PRINTABLESTRING:CA
caVersion = ASN1:INTEGER:0
그런 다음 다음 매개 변수를 사용하여 인증서를 만들어야 합니다.
-extensions v3_req
그 결과 인증서 필드를 성공적으로 만들었습니다.
결정적인:
openssl.conf를 성공적으로 만들었습니다!
다음에서 전체 openssl.conf 파일을 볼 수 있습니다. GitHub Gist
Reference
이 문제에 관하여(Windows용 openssl.conf 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/openlab/creating-opensslconf-for-windows-104g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)