OpenSSLでサーバに接続しようとすると、errno=104でエラーになります。
同じバージョンのmacから接続すると正常に接続できます。
どうやったら治りますでしょうか?
- OpenSSL 1.0.2n
- CentOS 7.4
- 発生するエラー:
$ openssl s_client -connect *HOSTNAME*:443 -tls1_2 < /dev/null CONNECTED(00000003) write:errno=104 --- 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 SSL-Session: Protocol : TLSv1.2 Cipher : 0000 Session-ID: Session-ID-ctx: Master-Key: Key-Arg : None PSK identity: None PSK identity hint: None SRP username: None Start Time: 1522048486 Timeout : 7200 (sec) Verify return code: 0 (ok) ---
- macから実行した時の結果
CONNECTED(00000003) depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA verify return:1 depth=1 C = US, O = GeoTrust Inc., CN = GeoTrust SSL CA - G3 verify return:1 depth=0 C = **, ST = **, L = **, O = **, OU = **, CN = ** verify return:1 --- Certificate chain 0 s:/C=**/ST=**/L=**/O=**/OU=**/CN=** i:/C=US/O=GeoTrust Inc./CN=GeoTrust SSL CA - G3 1 s:/C=US/O=GeoTrust Inc./CN=GeoTrust SSL CA - G3 i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA --- Server certificate -----BEGIN CERTIFICATE----- ** -----END CERTIFICATE----- subject=/C=**/ST=**/L=**/O=**/OU=**/CN=** issuer=/C=US/O=GeoTrust Inc./CN=GeoTrust SSL CA - G3 --- No client certificate CA names sent Peer signing digest: SHA512 Server Temp Key: ECDH, P-256, 256 bits --- SSL handshake has read 3398 bytes and written 434 bytes --- New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256 Server public key is 2048 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session: Protocol : TLSv1.2 Cipher : ECDHE-RSA-AES128-GCM-SHA256 Session-ID: ** Session-ID-ctx: Master-Key: ** Key-Arg : None PSK identity: None PSK identity hint: None SRP username: None Start Time: 1522048584 Timeout : 7200 (sec) Verify return code: 0 (ok) --- DONE
SSL handshake で失敗しているので、TLS のバージョン、Cipher リストで合うものがないということなのかもしれません。OpenSSL 1.0.2n はどのようにインストールしましたか? CentOS 7.4 の標準の openssl-1.0.2k でも同じ結果でしょうか? "openssl s_client" のオプション "-servername (証明書のCN値)" を付けても同じ結果でしょうか?
試してみましたが、結果は全く変わりませんでした。OpenSSLは、https://www.openssl.org/source/openssl-1.0.2n.tar.gz からダウンロードし、config;make;make test;make install をおこなってインストールし、シンボリックリンクを張り替えました。後でyumでアップデートできなくなる問題に気がついて、システム標準に戻しました
あなたの回答
tips
プレビュー