인증서의 "발급 대상:" 이름이 주소 표시줄의 HTTPS 주소와 일치하도록 올바르게 구성하려고 하는 Apache2 서버에 자체 서명된 인증서가 있습니다. 다음과 같은 보안 오류가 발생합니다.
The certificate for this site does not contain a Subject Alternative Name
extension containing a domain name or IP address
There are issues with the site's certificate chain
(net::ERR_CERT_COMMON_NAME_INVALID)
답변1
많은 연구 끝에 문제는 최근 Chrome(58)과 Firefox(48) 모두 SubjectAltName 필드에 적용할 호스트 이름을 지정하기 위해 인증서가 필요하다는 것입니다. 자세한 내용을 보려면 여기를 클릭하세요: https://textslashplain.com/2017/03/10/chrome-deprecates-subject-cn-matching/. 그리고 1:24:00쯤에 음성 설명을 듣고 싶다면 Steve Gibson이 아주 잘 설명해줍니다. https://twit.tv/shows/security-now/episodes/610?autostart=false.
하지만 자체 서명된 인증서를 생성하는 경우 이제 추가 단계를 수행해야 합니다. 즉, 주체 대체 이름(SAN 필드)을 추가해야 합니다. 여기에 모든 내용이 포함되어 있습니다. https://stackoverflow.com/questions/10175812/how-to-create-a-self-signed-certificate-with-openssl/27931596#27931596;그러나 이는 답변이 많은 긴 과정입니다. 기본적으로 이 모든 것은 JWW가 제공한 답변으로 요약됩니다. subjectAltName 필드를 포함하는 구성 파일을 생성한 후 다음과 같이 전달해야 합니다.
openssl req -config example-com.conf -new -x509 -sha256 -newkey rsa:2048 -nodes \
-keyout example-com.key.pem -days 365 -out example-com.cert.pem
JWW의 답변에는 단계의 구성 파일에 대한 좋은 예가 있습니다. 검색: "구성 파일(-config 옵션으로 전달됨)"
이제 귀하의 인증서에는 subjectAltName이 있으며 Chrome과 Firefox가 만족할 것입니다.
답변2
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -subj "/C=US/ST=Oregon/L=Portland/O=Company Name/OU=Org/CN=www.example.com"
"subj"를 원하는 이름으로 바꾸십시오.
답변3
이것이 귀하의 정확한 질문에 대한 정답이 아닐 수도 있다는 것을 알고 있지만, 다음과 같은 경우에는 자체 서명된 인증서를 사용할 이유가 없을 것입니다.암호화하자존재하다. 이는 완전 무료 인증서 서비스이며 귀하가 받는 인증서는 다른 곳(예: Comodo)에서 받는 인증서와 거의 동일하게 작동합니다. 또한 Fox가 언급했듯이 SSL/TLS를 사용하여 서버에 연결하고 연결하려는 주소가 포함되지 않은 인증서를 사용하는 경우 IP를 통해 연결하지 마십시오. 같은 컴퓨터이지만 연결하려는 컴퓨터가 인증서에 없습니다.) 브라우저는 연결이 안전하지 않다고 보고합니다.