TLS 1.3
JCBookmark を使っていて SSL_connect に失敗となる事例に遭遇しました。
https://wiki.theory.org/
https://pijul.org/
これらのサイトの特徴を調べたところ、 TLS 1.3 でないと繋がらないようです。

OpenSSL のリリースノートでは TLS 1.3 は OpenSSL 1.1.1 からのサポートだと書かれていて、 JCBookmark で使っている OpenSSL 1.0.2m では対応されていないはずです。
現時点で私の手元にあるブックマーク約千個の内で TLS 1.3 のみというのは上記の二つだけですからそれほど多くはないのだと思いますが、今後のことを考えると新しい OpenSSL に置き換えたほうがよいかもしれません。
  • 齊藤
  • 2022/04/23 (Sat) 21:48:54
Re: TLS 1.3
齊藤さん

情報ありがとうございます。
なるほど古いバージョンではもう接続できないサイトが・・。
OpenSSLが古いままだなーと思ってはいたので、1.1系の最新版への更新を考えたいと思います。
ありがとうございました!
  • ZTMS(管理人)
  • 2022/04/23 (Sat) 23:17:56
Re: TLS 1.3
齊藤さん

OpenSSLを1.1.1nに更新した新しいバージョンを公開しました。
https://ztmsdf.appspot.com/jcbookmark/JCBookmark-v3.3.zip

挙げていただいた2サイトのURLは私の環境ではどちらも接続できるようになっています。

お時間ある時にまたご確認いただければと思います。
  • ZTMS(管理人)
  • 2022/04/29 (Fri) 14:51:17
Re: TLS 1.3
ありがとうございます。
接続できるようになったことが確認できました。
  • 齊藤
  • 2022/04/29 (Fri) 16:28:30
Re: TLS 1.3
JCBookmark 3.3 から繋がらなくなった事例が出てきました。
https://www.devuan.org/
https://www.palemoon.org/
いずれも SSL_connect でエラーとなっています。
以前のバージョンで試したところ繋がるようなので OpenSSL のバージョンアップの影響だとは思うのですが、この二つのサイトに共通する事情は私には見つけられませんでした。
  • 齊藤
  • 2022/05/02 (Mon) 23:31:32
Re: TLS 1.3
齊藤さん

ありがとうございます。
SSL_connectエラーを確認しました。なぜだろう・・・
エラー情報をテキストでログに出すようにしてみたところ、こんなメッセージが取れました。
---
8960:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:ssl\record\rec_layer_s3.c:1544:SSL alert number 40
---
このメッセージをググってみたところ、いくつか情報は出てきたのですが、イマイチよくわかりません。。
OpenSSLが1.1系になって3DES_EDE_CBCなど古い暗号スイーツが無効になったらしい?ですが、問題のサイトが古いわけでもなさそうですし。。

試しに、JCBookmarkの使っている1.1.1nをビルドした時にできたopenssl.exeのs_clientで問題のサイトに接続してみたところ、接続できました。
---
openssl-1.1.1n\apps>openssl.exe s_client -connect www.palemoon.org:443
CONNECTED(00000208)
depth=2 C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust ECC Certification Authority
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo ECC Domain Validation Secure Server CA
verify return:1
depth=0 CN = *.palemoon.org
verify return:1
---
Certificate chain
0 s:CN = *.palemoon.org
i:C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo ECC Domain Validation Secure Server CA
1 s:C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo ECC Domain Validation Secure Server CA
i:C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust ECC Certification Authority
2 s:C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust ECC Certification Authority
i:C = GB, ST = Greater Manchester, L = Salford, O = Comodo CA Limited, CN = AAA Certificate Services
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIExjCCBGugAwIBAgIRAJRq87k7mF9vj9DqIIHzo80wCgYIKoZIzj0EAwIwgY8x
CzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNV
:
SQAwRgIhAPWKmEQL9MFyZufJdJx9MtKHQjMUZuQiTr2tvPaOw268AiEAmnt+8A4L
wb5jWDAhjtE33qLh+ZowBhgoGJzoICnPSkY=
-----END CERTIFICATE-----
subject=CN = *.palemoon.org

issuer=C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo ECC Domain Validation Secure Server CA

---
No client certificate CA names sent
Peer signing digest: SHA512
Peer signature type: ECDSA
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 3514 bytes and written 444 bytes
Verification error: unable to get local issuer certificate
---
New, TLSv1.2, Cipher is ECDHE-ECDSA-AES256-GCM-SHA384
Server public key is 384 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-ECDSA-AES256-GCM-SHA384
Session-ID: D7B406876DBB21E1AE45DFE1B68F04EE17F90BDAA725D0B2AEEDC374B5842FAD
Session-ID-ctx:
Master-Key: 56B0998C4BA115B0131296D8869C92C4547FF0A58B0F808DBF802B718607650625394EE28A7FC7B33A573A8E05C59601
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1651592175
Timeout : 7200 (sec)
Verify return code: 20 (unable to get local issuer certificate)
Extended master secret: no
---

ですので、JCBookmarkも接続できるはず・・。
s_clientの処理と何かが違っているかもしれません。s_clientのソースコードを調べてみようと思います。
  • ZTMS(管理人)
  • 2022/05/04 (Wed) 00:51:28

返信フォーム






プレビュー (投稿前に内容を確認)