まあ考えていても仕方ないし寝るか 起きたらdownloads.openwrt.orgの問題解決していてほしいが
@musashino205 ISRG Root X1で署名されてるのでクライアント側でなんとかしないといけない感じかもです…
$ :| openssl s_client -connect downloads.openwrt.org:443 -servername downloads.openwrt.org > /dev/null
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
verify return:1
depth=0 CN = downloads.openwrt.org
verify return:1
DONE
@zundan OpenWrtがデフォルトで使用するWolfSSLの実装が今回良くなかったという感じになったりしそうですねぇ...
@musashino205 あるいは証明書ストアにISRG Root X1が無いか…
@zundan OpenWrtはDebianのca-certificates利用していますが、確認した範囲だと現ルート含んでいるバージョン使っていそうではあります...
https://github.com/openwrt/openwrt/blob/openwrt-21.02/package/system/ca-certificates/Makefile#L10
@musashino205 なるほどー。downloads.openwrt.orgの証明書チェーンには8月初旬からDST Root CA X3は含まれていなかったっぽいので何か別の原因がありそうです…うーむ
$ :| openssl s_client -connect downloads.openwrt.org:443 -servername downloads.openwrt.org | openssl x509 -noout -startdate
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
verify return:1
depth=0 CN = downloads.openwrt.org
verify return:1
DONE
notBefore=Aug 3 21:00:49 2021 GMT
@musashino205 勘違いでした!! 証明書チェーンはDST Root CA X3にも署名されてました。クライアント側でTLSの実装を直すかDST Root CA X3を信頼しないようにする必要があります。
$ :| openssl s_client -connect downloads.openwrt.org:443 -servername downloads.openwrt.org -showcerts 2>/dev/null | grep -e 's:\|i:'
0 s:CN = downloads.openwrt.org
i:C = US, O = Let's Encrypt, CN = R3
1 s:C = US, O = Let's Encrypt, CN = R3
i:C = US, O = Internet Security Research Group, CN = ISRG Root X1
2 s:C = US, O = Internet Security Research Group, CN = ISRG Root X1
i:O = Digital Signature Trust Co., CN = DST Root CA X3
@musashino205 あるいはサーバ側でDST Root CA X3に署名されたISRG Root X1を消してもいいです
@zundan @musashino205 証明書チェーンはDST Root CA X3まで続いてるけど、検証はISRG Root X1で止まるはず…
@ponapalt @musashino205 古いクライアントには一番長いチェーンまでつきすすむやつがあるらしく、そうするとDST Root CA X3まで行って有効期限切れで検証に失敗するっぽいです。
@zundan @musashino205 ええ、OpenSSL 1.0.2でだいぶ問題になったのでわかります、ただwolfSSLさんが同じようなぽんこつなことしてるのかなあとちょっと疑問に思ったもので…
Windows上だとなぜか中間証明書のR3が証明書ストアに含まれてて、そっちの期限切れで駄目になったという謎現象が起きましたけど…
@ponapalt @musashino205 あとひといきで動作確認できそうなんですがうーむ
$ git clone https://github.com/wolfSSL/wolfssl.git
$ cd wolfssl
$ ./autogen.sh
$ ./configure
$ make
$ make check
$ ./examples/client/client -h www.google.com -p 443
wolfSSL_connect error -188, ASN no signer error to confirm failure
wolfSSL error: wolfSSL_connect failed