У меня есть сертификат, который я подписал с нашим центром сертификации, и теперь мне нужно загрузить сертификат на каждый из наших серверов. Где находится правильное место, которое следует разместить, чтобы мы не получали никаких предупреждений о сертификатах при подключении к серверу, который использует сертификат?
РЕДАКТИРОВАТЬ
У меня есть веб-сервер, который использует сертификат и ключ для трансляции через SSL на 8443. Теперь мне нужно установить сертификат на любой сервер, который к нему подключается, чтобы они не получали ошибку сертификата при подключении через 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
спасибо,
Если вы подписали свой собственный CA (центр сертификации), правильное место для его установки зависит от того, как вы настроили свой CRL. (Список отозванных сертификатов).
CRL предоставляет подключенному клиенту информацию о списке отозванных сертификатов из вашего ЦС (вашего сервера) по простому http-соединению. Поскольку вы хотите, чтобы каждый клиент подключался и автоматически получал информацию о сертификате без ошибок, правильным расположением будет ваша папка public_html/ http://ca.domain.com/ca.pem http://ca.domain.com/crl.pem
Однако на самом деле вам не нужно устанавливать сертификат на каждый сервер размещение вашего собственного сертификата как Ваш собственный CAтребует, чтобы вы разместили свой CA и CRL или сервер, поэтому все клиенты могут автоматически получать информацию о любом сертификате, выданном вашим CA, подключившись к вашему CA Server.
Клиент согласовал безопасное соединение и представил свой список отзыва сертификатов, чтобы проверить, является ли представленный сертификат отозванным или активным? в случае отзыва произойдет ошибка, иначе соединение будет разрешено безопасным.
Я предполагаю, что:
Если все вышеперечисленное верно, что вы используете в настоящее время? Apache, 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
если вы не можете подключиться, проверьте свой сервер:порт, тогда вы не сможете подключиться к нему откуда угодно.