Ticket #36876

OpenSSL 1.1.1 対応

Open Date: 2016-12-14 23:51 Last Update: 2019-10-16 21:14

Reporter:
Owner:
Status:
Open [Owner assigned]
Component:
MileStone:
Priority:
7
Severity:
7
Resolution:
Accepted
File:
None
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

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/36 Histories)

2016-12-14 23:51 Updated by: yutakapon
  • New Ticket "OpenSSL 1.1.0 対応" created
2016-12-14 23:55 Updated by: yutakapon
  • Details Updated
2016-12-15 00:07 Updated by: None
Comment

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

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

2016-12-15 00:15 Updated by: yutakapon
Comment

None への返信

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

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

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

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

2017-01-03 21:50 Updated by: yutakapon
  • Owner Update from (None) to yutakapon
  • Details Updated
2017-01-10 21:30 Updated by: yutakapon
  • Details Updated
2017-01-15 16:19 Updated by: yutakapon
  • Details Updated
2017-01-15 19:28 Updated by: yutakapon
  • Details Updated
2017-01-15 22:56 Updated by: yutakapon
  • Details Updated
2017-01-16 00:34 Updated by: yutakapon
  • Details Updated
2017-01-16 22:38 Updated by: yutakapon
  • Details Updated
2017-01-18 00:11 Updated by: yutakapon
  • Details Updated
2017-02-19 00:49 Updated by: yutakapon
  • Details Updated
2017-02-19 00:50 Updated by: yutakapon
  • Details Updated
2018-11-27 01:54 Updated by: doda
  • Resolution Update from None to Accepted
  • Type Update from Support Request to Feature Requests
  • Severity Update from 5 - Medium to 7
  • Priority Update from 5 - Medium to 7
  • Details Updated
  • Summary Updated
2018-11-27 01:57 Updated by: doda
Comment

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

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

2019-05-16 23:18 Updated by: yutakapon
  • Details Updated
2019-05-17 19:21 Updated by: yutakapon
  • Details Updated
2019-05-17 23:28 Updated by: yutakapon
  • Details Updated
2019-05-18 18:06 Updated by: yutakapon
  • Details Updated
2019-05-26 16:36 Updated by: yutakapon
  • Details Updated
2019-06-21 20:21 Updated by: yutakapon
  • Details Updated
2019-06-23 12:50 Updated by: yutakapon
2019-06-28 14:52 Updated by: maya
2019-07-12 00:21 Updated by: yutakapon
  • Details Updated
2019-08-02 20:14 Updated by: yutakapon
  • Details Updated
2019-08-04 10:27 Updated by: yutakapon
  • Details Updated
2019-08-04 10:27 Updated by: yutakapon
  • Resolution Update from Accepted to Postponed
2019-08-04 10:28 Updated by: yutakapon
2019-08-08 22:56 Updated by: yutakapon
  • Details Updated
2019-08-15 23:24 Updated by: yutakapon
  • Details Updated
2019-08-15 23:46 Updated by: yutakapon
  • Details Updated
2019-08-16 00:02 Updated by: yutakapon
  • Details Updated
2019-08-17 16:26 Updated by: yutakapon
  • Details Updated
2019-08-17 16:26 Updated by: yutakapon
  • Resolution Update from Postponed to Accepted
2019-10-16 21:14 Updated by: yutakapon

Attachment File List

No attachments

Edit

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