OpenSSL 1.1.1 対応
Eröffnet am: 2016-12-14 23:51
Letztes Update: 2019-08-04 10:28
Auswertung: | yutakapon | Verantwortlicher: | yutakapon |
---|---|---|---|
Priorität: | 7 | Meilenstein: | (Keine) |
Typ: | Funktionsanfragen | Schweregrad: | 7 |
Komponente: | TTSSH | Status: | Offen [Owner assigned] |
Lösung | Postponed |
Einzelheiten
OpenSSL 1.0.2から1.1.0になって、APIのインターフェイスが変更されており、
OpenSSL 1.1.0系をリンクするためには、TTSSHの実装を改修する必要がある。
●●●OpenSSL 1.1.1●●●
ブランチ
https://osdn.net/projects/ttssh2/scm/svn/tree/head/branches/openssl_1_1_1_v2/
進捗状況(r7909)
ライブラリビルド (OpenSSL 1.1.1c)
- VS2017とVS2019ではビルドが通った。
- VS2005ではビルドが通らない(*1) → 解決(r7688)
(*1) OpenSSL GitHubにも問い合わせ中→クローズ https://github.com/openssl/openssl/issues/8948
全体ビルド
- TTSSH→OK
- TTProxy→OK(*2)
(*2) TTProxyのSSL/TLS通信は未サポートなので、実質OpenSSLは使われない。
単体テスト
- 修正箇所(約1100個)の単体テストはほぼ完了。
- "blowfish-ctr"と"cast128-ctr"の単体テストが未完了。
レガシーWindowsサポート状況
Tera Termの起動確認
- Windows98以降OK
- Windows95 NG(*3)
(*3) 阻害要因のAPIは下記の通り。
CryptAcquireContextW InitializeCriticalSectionAndSpinCount InterlockedCompareExchange InterlockedExchangeAdd
Tera Termの疎通確認(SSH通信)
- WindowsXP OK
- Windows2000 OK
- WindowsNT4.0 NG(*4)
- WindowsMe NG(*5)
(*4) CryptAcquireContextWを使った乱数処理が正常動作しないため。OpenSSL 1.0.2とは異なる新しい処理。
(*5) 原因不明。
●●●OpenSSL 1.1.0●●●
ブランチ
https://osdn.net/projects/ttssh2/scm/svn/tree/head/branches/openssl_1_1_0/
進捗状況
ビルド
- VS2015でビルドが通るところまで到達(r6557 - r6576)
- VS2005では未確認。→ 済み(r6577 - r6578)
- TTProxyはビルドが通らない。→ 済み(r6580 - r6581)
動作テスト
- Tera Termの起動時、ttxssh.dll がロードできない。 → 解決 (*1)
- 修正箇所の単体テストは進行中。詳細は下記ファイル参照。 http://ttssh2.osdn.jp/tmp/openssl_api_list/ttssh.diff
(*1) dumpbin /dependents コマンドで見ると、 ttxssh.dll が「libcrypto-1_1.dll」に 依存関係を持っているのが原因。当該DLLを格納すれば起動はできた。 r6576で処置済み。
調査結果
TTSSHがリンクしているOpenSSLの関数
http://ttssh2.osdn.jp/tmp/openssl_api_list/ func_list.txt
参考
OpenSSLのAPIマニュアル
https://www.openssl.org/docs/manpages.html
OpenSSLのサポート期限
https://www.openssl.org/policies/releasestrat.html
https://www.openssl.org/source/
- OpenSSL 1.0.2 2019-12-31 (LTS)
- OpenSSL 1.1.0 2018-08-31
- OpenSSL 1.1.1 2023-09-11 (LTS)
Letzte Aktualisierung für dieses Ticket
2019-08-04 10:28 Aktualisiert von: yutakapon
- Meilenstein Update from near future to (Keine)