CAから署名された証明書があり、その証明書を各サーバーにロードする必要があります。証明書を使用してサーバーに接続するときに証明書の警告が表示されないように、正しい場所をどこに配置する必要がありますか?
編集する
証明書とキーを使用して8443でSSLを介してブロードキャストするWebサーバーがあります。 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 を提供して提供された証明書が失効したかアクティブであるかを確認します。キャンセルするとエラーが発生し、キャンセルしないと安全に接続できます。
私は次のように仮定します:
- Webサーバーに証明書を正しくインストールしました。
- Webブラウザを使用してネットワークに接続してテストし、エラーは発生しませんでした。
上記の内容が正しい場合、現在使用しているものは何ですか? Apache、Nginxなど?
Webサーバーの正しい構成のみを提供できますが、現在Webサーバーがインストールされているサーバーとの接続でエラーが発生しない場合は、お知らせください。
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
経験則:
テストサーバー:ポートに接続できない場合は、どこからでも接続できません。