WolfSSL もまた酷いですね。それで、次はどうすればよいのでしょうか?
## 日本語訳:
WolfSSLは組み込みデバイス向けに広く使われているTLSライブラリですが、開発者が `-DWOLFSSL_TLS13_MIDDLEBOX_COMPAT` を明示的に有効化しない限り、TLS 1.3 の「ミドルボックス互換モード」をサポートしていません。この抜け漏れは実際の接続を破綻させます。なぜなら、多くのネットワークが RFC 8446 で定義されているミドルボックスパケット(空でないセッションIDとダミー `change_cipher_spec` レコード)に依存しているからです。この問題は、2023 年の Haproxy 記事で OpenSSL の遅延が指摘されたことを受け、著者が FreeBSD ビルド上で WolfSSL をテストした際に発覚し、正式に報告されました。
OpenSSL、BoringSSL、AWS‑LC、GnuTLS、LibreSSL など他のライブラリも同様に使い勝手の欠陥を抱えています。Erlang/OTP の SSL ライブラリは WolfSSL サーバーとの失敗を回避するためにデフォルトで `middlebox_comp_mode` を有効化していましたが、TLS 1.3 接続を成功させるにはこれを無効化する必要があります。Elixir 1.17.3 の概念実証では、`middlebox_comp_mode:true` を有効にすると致命的な「unexpected message」エラーが発生し、`false` に設定すれば接続できることが示されています。
著者は開発者に対して、WolfSSL が準拠性を改善するまで LibreSSL を優先するよう勧告しています。適切な構成なしで WolfSSL を継続的に使用すると、接続問題が引き続き発生します。WolfSSL に依存している組み込みデバイスメーカーは、サポートコストの増大や安全に TLS 1.3 を採用するためにライブラリを切り替える必要があります。本稿は WolfSSL の欠点について学ぶ時間が多く費やされたことを嘆きつつ、主に警告として機能していると結論付けています。
## 翻訳対象テキスト
(incorporating the missing points):**
WolfSSL, a widely used TLS library for embedded devices, fails to support TLS 1.3’s required “middle‑box compatibility mode” unless developers explicitly enable it with `-DWOLFSSL_TLS13_MIDDLEBOX_COMPAT`. This oversight breaks real‑world connections because many networks rely on the middle‑box packets (non‑empty session IDs and dummy change_cipher_spec records) mandated by RFC 8446. The problem surfaced when a 2023 Haproxy article highlighted OpenSSL’s slowdown, prompting the author to test WolfSSL in a FreeBSD build; during testing a bug was discovered and formally reported.
Other libraries—OpenSSL, BoringSSL, AWS‑LC, GnuTLS, and LibreSSL—have similar usability shortcomings. Erlang/OTP’s SSL library had to enable `middlebox_comp_mode` by default to avoid failures with WolfSSL servers, but disabling it is required for successful TLS 1.3 connections. An Elixir 1.17.3 proof‑of‑concept demonstrates that enabling `middlebox_comp_mode:true` triggers a fatal “unexpected message” error, whereas setting it to `false` allows the connection.
The author advises developers to prioritize LibreSSL over WolfSSL until the latter improves compliance; continued use of WolfSSL without proper configuration will keep causing connectivity problems. Embedded‑device manufacturers relying on WolfSSL may face increased support costs or must switch libraries to adopt TLS 1.3 safely. The post ends with a lament that much time was spent learning about WolfSSL’s deficiencies, and the blog serves mainly as a warning rather than a solution.