Ticket #36876

OpenSSL 1.1.1 対応

Date d'ouverture: 2016-12-14 23:51 Dernière mise à jour: 2019-12-10 19:04

Rapporteur:
(del#24082)
Propriétaire:
(del#24082)
État:
Atteints
Composant:
Priorité:
7
Sévérité:
7
Résolution:
Fixed
Fichier:
Aucun
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Détails

OpenSSL 1.0.2から1.1.0になって、APIのインターフェイスが変更されており、
OpenSSL 1.1.0系をリンクするためには、TTSSHとTTProxyの実装を改修する必要がある。

●●●OpenSSL 1.1.1●●●

ブランチ

https://osdn.net/projects/ttssh2/scm/svn/tree/head/branches/openssl_1_1_1_v2/

進捗状況(r7980)

ライブラリビルド (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)→解決(r7980)

(*3) 阻害要因のAPIは下記の通り。

CryptAcquireContextW
InitializeCriticalSectionAndSpinCount
InterlockedCompareExchange
InterlockedExchangeAdd

Tera Termの疎通確認(SSH通信)

  • WindowsXP OK
  • Windows2000 OK
  • WindowsNT4.0 OK(*4)
  • WindowsMe OK(*5)
  • Windows98 OK
  • Windows95 OK(*6)

(*4) r7975で処置した。

(*5) r7957, r7959, r7973で処置した。r7957は必須ではない。

(*6) r7980で処置した。

libresslサポート

  • libresslはOpenSSL 1.1 APIをサポートしているため、libresslをリンクすることもできるはず。→ NG(*6)

(*6) libressl 2.9.2(stable)と3.0.0(development)いずれもビルドエラー。ただし、libresslは目下1.1 API対応中なので、将来ビルドできるようになると思われる。

OpenSSL 3.0.0サポート

  • openssl-SNAP-20190808.tar.gz でお試し。
  • VS2005ではビルドエラー。VS2019では問題なし。
  • VS2019を使って3.0.0を組み込んだTTSSHで導通した。

●●●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)

動作テスト

(*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)

Ticket History (3/38 Histories)

2016-12-14 23:51 Updated by: (del#24082)
  • New Ticket "OpenSSL 1.1.0 対応" created
2016-12-14 23:55 Updated by: (del#24082)
  • Details Updated
2016-12-15 00:07 Updated by: None
Commentaire

こういう話があるようですね

http://echo.2ch.net/test/read.cgi/unix/1398419457/377-

2016-12-15 00:15 Updated by: (del#24082)
Commentaire

None への返信

こういう話があるようですね http://echo.2ch.net/test/read.cgi/unix/1398419457/377-

情報ありがとうございます。

2chスレからリンク先のOpenSSHのMLも見てみましたが、それなりの規模のパッチを

書かないといけないようですね。

2017-01-03 21:50 Updated by: (del#24082)
  • Details Updated
  • Propriétaire Update from (Aucun) to yutakapon
2017-01-10 21:30 Updated by: (del#24082)
  • Details Updated
2017-01-15 16:19 Updated by: (del#24082)
  • Details Updated
2017-01-15 19:28 Updated by: (del#24082)
  • Details Updated
2017-01-15 22:56 Updated by: (del#24082)
  • Details Updated
2017-01-16 00:34 Updated by: (del#24082)
  • Details Updated
2017-01-16 22:38 Updated by: (del#24082)
  • Details Updated
2017-01-18 00:11 Updated by: (del#24082)
  • Details Updated
2017-02-19 00:49 Updated by: (del#24082)
  • Details Updated
2017-02-19 00:50 Updated by: (del#24082)
  • Details Updated
2018-11-27 01:54 Updated by: doda
  • Type Update from Demande de soutien to Demandes de fonctionnalités
  • Sévérité Update from 5 - moyen to 7
  • Priorité Update from 5 - moyen to 7
  • Details Updated
  • Summary Updated
  • Résolution Update from Aucun to Accepted
2018-11-27 01:57 Updated by: doda
Commentaire

OpenSSL 1.1.1系が出たので情報を追加しました。

また、ターゲットを1.1.1とすべきだと思われるので概要を変更しました。

2019-05-16 23:18 Updated by: (del#24082)
  • Details Updated
2019-05-17 19:21 Updated by: (del#24082)
  • Details Updated
2019-05-17 23:28 Updated by: (del#24082)
  • Details Updated
2019-05-18 18:06 Updated by: (del#24082)
  • Details Updated
2019-05-26 16:36 Updated by: (del#24082)
  • Details Updated
2019-06-21 20:21 Updated by: (del#24082)
  • Details Updated
2019-06-23 12:50 Updated by: (del#24082)
2019-06-28 14:52 Updated by: (del#1144)
2019-07-12 00:21 Updated by: (del#24082)
  • Details Updated
2019-08-02 20:14 Updated by: (del#24082)
  • Details Updated
2019-08-04 10:27 Updated by: (del#24082)
  • Details Updated
2019-08-04 10:27 Updated by: (del#24082)
  • Résolution Update from Accepted to Postponed
2019-08-04 10:28 Updated by: (del#24082)
2019-08-08 22:56 Updated by: (del#24082)
  • Details Updated
2019-08-15 23:24 Updated by: (del#24082)
  • Details Updated
2019-08-15 23:46 Updated by: (del#24082)
  • Details Updated
2019-08-16 00:02 Updated by: (del#24082)
  • Details Updated
2019-08-17 16:26 Updated by: (del#24082)
  • Details Updated
2019-08-17 16:26 Updated by: (del#24082)
  • Résolution Update from Postponed to Accepted
2019-10-16 21:14 Updated by: (del#24082)
2019-12-08 09:01 Updated by: None
2019-12-10 19:04 Updated by: (del#24082)
  • État Update from Ouvert to Atteints
  • Résolution Update from Accepted to Fixed

Attachment File List

No attachments

Modifier

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Connexion