CA에서 서명한 인증서가 있고 이제 해당 인증서를 각 서버에 로드해야 합니다. 인증서를 사용하여 서버에 연결할 때 인증서 경고가 표시되지 않도록 올바른 위치를 어디에 배치해야 합니까?
편집하다
인증서와 키를 사용하여 8443에서 SSL을 통해 브로드캐스트하는 웹 서버가 있습니다. 이제 CURL 또는 wGET을 통해 연결할 때 인증서 오류나 기타 문제가 발생하지 않도록 연결하는 모든 서버에 인증서를 설치해야 합니다.
편집 2
socket: Bad file descriptor
connect:errno=9
no peer certificate available
No client certificate CA names sent
SSL handshake has read 0 bytes and written 0 bytes
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
감사해요,
답변1
자체 CA(인증 기관)에 서명한 경우, 이를 설치할 올바른 위치는 CRL을 구성한 방법에 따라 다릅니다.(인증서 해지 목록).
CRL은 CA(서버)의 인증서 해지 목록 정보가 간단한 http 연결을 통해 연결 클라이언트에 제공되는 곳입니다. 모든 클라이언트가 연결되어 자동으로 오류 없이 인증서에 대한 정보를 얻을 수 있기를 원하므로 올바른 위치는 public_html/ 폴더입니다. http://ca.domain.com/ca.pem http://ca.domain.com/crl.pem
실제로 모든 서버에 인증서를 설치할 필요는 없지만 다음과 같이 자체 인증서를 호스팅할 수 있습니다.자신의 CACA와 CRL 또는 서버를 호스팅해야 하므로 모든 클라이언트는 CA 서버에 연결하여 CA에서 발급한 인증서에 대한 정보를 자동으로 얻을 수 있습니다.
작동 원리!
클라이언트는 보안 연결을 협상하고 CRL을 제공하여 제공된 인증서가 해지되었거나 활성 상태인지 확인합니다. 취소하면 오류가 발생하고, 취소하지 않으면 안전하게 연결이 허용됩니다.
나는 다음과 같이 가정한다:
- 웹 서버에 인증서를 올바르게 설치했습니다.
- 웹 브라우저를 사용하여 네트워크에 연결하여 테스트했으며 오류가 발생하지 않았습니다.
위의 내용이 맞다면 현재 사용하고 있는 것은 무엇입니까? 아파치, Nginx 등?
웹 서버에 대한 올바른 구성만 제공할 수 있지만 현재 웹 서버가 설치되어 있는 서버와 연결 시 오류가 발생하지 않는 경우 알려주셔야 합니다.
openssl 명령을 사용하여 인증서 오류 해결
openssl s_client -connect yourweb:port -prexit
위 명령의 결과는 무엇입니까?
예를 들어
openssl s_client -connect facebook.com:443 -prexit | less
CONNECTED(00000003)
---
Certificate chain
0 s:/C=US/ST=California/L=Menlo Park/O=Facebook, Inc./CN=*.facebook.com
i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA
1 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA
i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIH5DCCBsygAwIBAgIQDACZt9eJyfZmJjF+vOp8HDANBgkqhkiG9w0BAQsFADBw
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMS8wLQYDVQQDEyZEaWdpQ2VydCBTSEEyIEhpZ2ggQXNz
dXJhbmNlIFNlcnZlciBDQTAeFw0xNjEyMDkwMDAwMDBaFw0xODAxMjUxMjAwMDBa
MGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRMwEQYDVQQHEwpN
ZW5sbyBQYXJrMRcwFQYDVQQKEw5GYWNlYm9vaywgSW5jLjEXMBUGA1UEAwwOKi5m
.....
.....
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Menlo Park/O=Facebook, Inc./CN=*.facebook.com
issuer=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA
---
No client certificate CA names sent
---
SSL handshake has read 3718 bytes and written 421 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-ECDSA-AES128-GCM-SHA256
Server public key is 256 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-ECDSA-AES128-GCM-SHA256
Session-ID: 2982CFE50313F69D515BA388D61828E3AAD1BC39BF5250CB6EF46E527D844E46
Session-ID-ctx:
Master-Key: E3065199482B00183847DB54408736B87164BAAA15E10A22DA0AAD2941252FC2CED1C05D46E33083A1452C11093CF6C7
경험 법칙:
테스트 서버: 포트에 연결할 수 없으면 어디에서도 연결할 수 없습니다.