인증서의 기본 제약 조건에 경고를 일으키는 원인은 무엇입니까?


8

OpenSSL의 req -x509명령과 CONF 파일을 사용하여 자체 서명 된 서버 인증서를 만들었습니다 . CONF 파일은 아래와 같습니다.

Microsoft 인증서 뷰어를 사용하여 인증서를 검사하면 경고가 표시됩니다 basicConstraints(작은 느낌표에 주목).

여기에 이미지 설명을 입력하십시오

CONF 파일은 다음을 사용하여 다음을 빌드합니다 basicConstraints.

basicConstraints = critical,CA:FALSE

에 따르면 RFC 5280 의는 pathLen경우에만 존재해야 CA:TRUE하고 keyCertSign존재입니다. 서버의 인증서가 두 가지 조건을 모두 만족하지 못합니다 (또한 테스트 pathLen결과 동일한 경고가 발생 함).

Microsoft 인증서 도구가 왜 경고 basicConstraints입니까? 무엇이 잘못되었거나 문제를 해결하려면 어떻게해야합니까?


# Self Signed (note the addition of -x509):
#     openssl req -config example.conf -new -x509 -sha256 -newkey rsa:2048 -nodes -keyout example.key.pem -days 365 -out example.cert.pem

# Self Signed with existing key (note the addition of -x509):
#     openssl req -config example.conf -new -x509 -sha256 -key example.key.pem -days 365 -out example.cert.pem

# Signing Request (note the lack of -x509):
#     openssl req -config example.conf -new -newkey rsa:2048 -nodes -keyout example.key.pem -days 365 -out example.req.pem

# Signing Request with existing key (note the lack of -x509):
#     openssl req -config example.conf -new -key example.key.pem -days 365 -out example.req.pem

# Print it:
#     openssl x509 -in example.cert.pem -text -noout
#     openssl req -in example.req.pem -text -noout

[ req ]
default_bits        = 2048
default_keyfile     = server-key.pem
distinguished_name  = subject
req_extensions      = req_ext
x509_extensions     = x509_ext
string_mask         = utf8only

# The Subject DN can be formed using X501 or RFC 4514 (see RFC 4519 for a description).
#   Its sort of a mashup. For example, RFC 4514 does not provide emailAddress.
[ subject ]
countryName         = Country Name (2 letter code)
countryName_default     = US

stateOrProvinceName     = State or Province Name (full name)
stateOrProvinceName_default = MD

localityName            = Locality Name (eg, city)
localityName_default        = Baltimore

organizationName         = Organization Name (eg, company)
organizationName_default    =

# Use a friendly name here because its presented to the user. The server's DNS
#   names are placed in Subject Alternate Names. Plus, DNS names here is deprecated
#   by both IETF and CA/Browser Forums.
commonName          = Common Name (e.g. server FQDN or YOUR name)
commonName_default      = Example, LLC

emailAddress            = Email Address
emailAddress_default        = webmaster@example.com

# Section x509_ext is used when generating a self-signed certificate. I.e., openssl req -x509 ...
[ x509_ext ]

subjectKeyIdentifier        = hash
authorityKeyIdentifier  = keyid,issuer

basicConstraints        = critical,CA:FALSE
keyUsage            = digitalSignature, keyEncipherment
subjectAltName          = @alternate_names
nsComment           = "OpenSSL Generated Certificate"

# RFC 5280, Section 4.2.1.12 makes EKU optional
# CA/Browser Baseline Requirements, Appendix (B)(3)(G) makes me confused
extendedKeyUsage    = serverAuth

# Section req_ext is used when generating a certificate signing request. I.e., openssl req ...
[ req_ext ]

subjectKeyIdentifier        = hash

basicConstraints        = critical,CA:FALSE
keyUsage            = digitalSignature, keyEncipherment
subjectAltName          = @alternate_names
nsComment           = "OpenSSL Generated Certificate"

# RFC 5280, Section 4.2.1.12 makes EKU optional
# CA/Browser Baseline Requirements, Appendix (B)(3)(G) makes me confused
extendedKeyUsage    = serverAuth

[ alternate_names ]

DNS.1       = example.com
DNS.2       = www.example.com
DNS.3       = mail.example.com
DNS.4       = ftp.example.com

# Add these if you need them. But usually you don't want them or
#   need them in production. You may need them for development.
# DNS.5       = localhost
# DNS.6       = localhost.localdomain
# DNS.7       = 127.0.0.1

# IPv6 localhost
# DNS.8     = ::1

답변:


6

느낌표가있는 작은 노란색 삼각형은 확장이 중요로 표시되었음을 나타냅니다. 아이콘을 제거하려면 OpenSSL 구성에서 'critical'동사를 제거하십시오.

또한 cA부울 값이 true로 설정되지 않은 모든 인증서에 내포되어 있으므로 부울 값이 false로 설정 되는 기본 제한 조건으로 엔드 엔티티 인증서를 표시 할 필요가 없습니다. 거기에 위반하는 것은 아닙니다. 그러나 필요하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.