質問するログイン新規登録

質問編集履歴

2

文章を分かりやすい内容に修正。表の形式を修正。(不要な情報を削除。カラムの追加・変更)

2021/02/03 03:40

投稿

hase_0691
hase_0691

スコア3

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  ### 1.前提・実現したいこと
2
- クライアントから指定される暗号スイートが、以下パターンのいずれかの場合においても、Tomcatと通信を行えるようにしたいです。
2
+ クライアントから指定される暗号スイートが、以下パターンのいずれかの場合においても、Tomcat と通信を行えるようにしたいです。
3
3
   0. TLS_RSA_WITH_AES_128_CBC_SHA256、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 の両方
4
4
   0. TLS_RSA_WITH_AES_128_CBC_SHA256 のみ
5
5
   0. TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 のみ
@@ -7,22 +7,22 @@
7
7
  現状、1.および3.は通信できていますが、2.の通信ができていません。
8
8
  ※以下、TLS_RSA_WITH_AES_128_CBC_SHA256 を RSA 、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 を ECD と記載します。
9
9
 
10
- クライアントはサードパーティのJavaプロセスで動作しており、上記のいずれかでClientHelloが行われます。
10
+ クライアントはサードパーティのJavaプロセスで動作しており、上記のいずれかで ClientHello が行われます。
11
- それに対し、Tomcatはいずれの場合においてもServerHelloで返答できるようにしたいです。
11
+ それに対し、Tomcat はいずれの場合においても ServerHello で返答できるようにしたいです。
12
12
 
13
13
  なお、クライアント、Tomcatサービス共にローカルホストにて起動しており、ローカルホスト上でやり取りをしています。
14
14
 
15
- server.xmlの設定やその他で、設定不備や認識不足・誤りなどがあればご教授いただけますと幸いです。
15
+ server.xml の設定やその他で、設定不備や認識不足・誤りなどがあればご教授いただけますと幸いです。
16
16
 
17
17
  ### 2.発生している問題・エラーメッセージ
18
- 現在、Tomcatのserver.xmlでは RSA と ECD の暗号スイートを許容するよう設定していますが、ServerHello ECD のみで返答されてしいます。
18
+ 現在、Tomcat server.xml では RSA と ECD の暗号スイートを許容するよう設定していますが、ClientHelloRSA のみ指定された場合は HandShakeError となります。
19
- そのため、1-2)の通信がHandShakeErrorとなります。
20
- ⇒複数の暗号スイートを許容した場合、RSA による通信ができません。
19
+ ⇒複数の暗号スイートを許容した場合、RSA による通信ができません。
21
- また、1-1)においても通信はできますが、ServerHelloでは ECD の暗号スイートが指定されました。
20
+ また、1-1)においても通信はできますが、ServerHelloでは ECD の暗号スイートが指定されました。
22
- 3.にて記載しますが、暗号スイートは RSA を優先度高としており、ServerHelloRSA を期待していました。
21
+ Tomcat の server.xml で RSA を優先度高としているのRSA すことを期待していました。
22
+ 「3.該当のソースコード」参照。
23
23
 
24
24
  ### 3.該当のソースコード
25
- Tomcatのserver.xmlの抜粋を添付します。
25
+ Tomcat server.xml の抜粋を添付します。
26
26
  "ciphers"にて許容している暗号スイートを RSA と ECD と指定しています。
27
27
  "honorCipherOrder"にて暗号スイートの優先度を設定しています。
28
28
  ("ciphers"の左から優先度高 [ RSA > ECD ])
@@ -41,7 +41,7 @@
41
41
  ```
42
42
 
43
43
  ### 4.試したこと
44
- - Tomcat側の設定において、RSA のみを許容する設定とすると、1-2)の通信は行えましたが、1-1)が失敗するようになりました。その際、キーストアファイルも RSA のみで作り直しています。server.xmlの設定は以下になります。
44
+ - Tomcat側の設定において、RSA のみを許容する設定とすると、1-2)の通信は行えましたが、1-1)が失敗するようになりました。その際、キーストアファイルも RSA のみで作り直しています。server.xml の設定は以下になります。
45
45
  ```ここに言語名を入力
46
46
  <SSLHostConfig certificateVerification="required" sslProtocol="TLS" protocols="TLSv1.2"
47
47
  ciphers="TLS_RSA_WITH_AES_128_CBC_SHA256"
@@ -57,7 +57,7 @@
57
57
 
58
58
 
59
59
  - Tomcat側の設定において、ECD のみを許容した場合、1-1)および1-3)の通信が行えます。その際、キーストアファイルも ECD のみで作り直しています。
60
- server.xmlの設定は以下になります。
60
+ server.xml の設定は以下になります。
61
61
  ```ここに言語名を入力
62
62
  <SSLHostConfig certificateVerification="required" sslProtocol="TLS" protocols="TLSv1.2"
63
63
  ciphers="TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"
@@ -70,21 +70,19 @@
70
70
  ```
71
71
 
72
72
  表にまとめると以下になります。
73
+ No.4~No.7が試したことです。
73
- No.7を解決したいのですが、クラアントが RSA の場合、現状No.9か成功例が無、No.3と競合します。
74
+ No.2を解決したいのですが、暗号ストが複数指定であった場合、Tomcat RSA の暗号スイートを選択れていないように見えます。
74
75
 
75
- |No.|クライアント|Tomcat|ServerHelloの暗号スイート|通信結果|
76
+ |No.|Tomcat設定|ClientHello|ServerHello|通信結果|備考|
76
- |:--|:--|:--:|--:|--:|
77
+ |--:|--:|--:|--:|:--:|:--|
78
+ |1|RSA、ECD|RSA、ECD|ECD|◯|1-1.のパターン|
79
+ |2|RSA、ECD|RSA|-|×|1-2.のパターン|
80
+ |3|RSA、ECD|ECD|ECD|◯|1-3.のパターン|
77
- |1|ECD、RSA|ECD、RSA|ECD||
81
+ |4|RSA|RSAECD|-|×|試したこと|
82
+ |5|RSA|RSA|RSA|◯|試したこと|
78
- |2|ECD、RSA|ECD|ECD|◯|
83
+ |6|ECD|RSA、ECD|ECD|◯|試したこと|
79
- |3|ECD、RSA|RSA|RSA|×|
80
- |4|ECD|ECD、RSA|ECD|◯|
81
- |5|ECD|ECD|ECD|◯|
84
+ |7|ECD|ECD|ECD|◯|試したこと|
82
- |6|ECD|RSA|-|-|
83
- |7|RSA|ECD、RSA|ECD|×|
84
- |8|RSA|ECD|-|-|
85
- |9|RSA|RSA|RSA|◯|
86
85
 
87
- ※No.6とNo.8は未確認ですが、おそらく通信結果×となる。
88
86
 
89
87
 
90
88
 

1

誤字

2021/02/03 03:40

投稿

hase_0691
hase_0691

スコア3

title CHANGED
File without changes
body CHANGED
@@ -47,9 +47,9 @@
47
47
  ciphers="TLS_RSA_WITH_AES_128_CBC_SHA256"
48
48
  honorCipherOrder="true"
49
49
  truststoreFile="....\Cert\Server_tmp\truststore_RSA.jks"
50
- truststorePassword="password">
50
+ truststorePassword="XXX">
51
51
  <Certificate certificateKeystoreFile="....\Cert\Server_tmp\keystore_vtn_vtn_RSA.jks"
52
- certificateKeystorePassword="password"
52
+ certificateKeystorePassword="XXX"
53
53
  type="RSA" />
54
54
  </SSLHostConfig>
55
55
  ```
@@ -63,9 +63,9 @@
63
63
  ciphers="TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"
64
64
  honorCipherOrder="true"
65
65
  truststoreFile="....\Cert\Server\truststore_ECD.jks"
66
- truststorePassword="password">
66
+ truststorePassword="XXX">
67
67
  <Certificate certificateKeystoreFile="....\Cert\Server\keystore_vtn_vtn_ECD.jks"
68
- certificateKeystorePassword="password" />
68
+ certificateKeystorePassword="XXX" />
69
69
  </SSLHostConfig>
70
70
  ```
71
71