質問編集履歴
11
h
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
HTTPプロトコルを介して他のコンピューターのアプリケーションとデータを安全に交換したい。セルフホスト
|
1
|
+
HTTPプロトコルを介して他のコンピューターのアプリケーションとデータを安全に交換したい。(セルフホスト)
|
body
CHANGED
File without changes
|
10
g
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
HTTPプロトコルを介して他のコンピューターのアプリケーションとデータを安全に交換したい。セルフホスト、
|
body
CHANGED
@@ -1,15 +1,20 @@
|
|
1
|
-
#
|
1
|
+
# 実現したいこと(目的)
|
2
|
-
- セルフホスト
|
3
|
-
|
2
|
+
HTTPプロトコルを介して他のコンピューター上のアプリケーションとデータを交換したい。
|
3
|
+
要件:
|
4
|
-
-
|
4
|
+
- 盗聴、改竄、なりすまし対策が施されている。
|
5
|
-
- セ
|
5
|
+
- セルフホストである(IISは使用しない。)
|
6
6
|
|
7
|
-
#
|
7
|
+
# 試したこと
|
8
|
-
|
8
|
+
- WCFを使用
|
9
|
+
- RESTFul方式(WebHttpBinding)を使用
|
10
|
+
- SSLを使用
|
11
|
+
但し、サーバー証明書をコンピューターにインポートする手順に未精通なため、サービスのアプリケーションが直接pfxファイルを読み込んで行う方式で実装している。
|
9
12
|
|
10
|
-
|
13
|
+
# 問題点
|
11
|
-
|
14
|
+
エラー(後述)が発生して、データを交換できない。
|
12
15
|
|
16
|
+
よろしくお願い致します。
|
17
|
+
|
13
18
|
#概要
|
14
19
|
###通信イメージ
|
15
20
|

|
9
H
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,27 +1,12 @@
|
|
1
1
|
# 前提・目的
|
2
|
+
- セルフホスト
|
2
|
-
|
3
|
+
- コンピュータに証明書を登録せずに、pfxファイルで行う。
|
3
|
-
|
4
|
+
- 不特定多数ではなく、あらかじめ登録されたユーザーが利用する。
|
4
|
-
|
5
|
+
- セキュリティが考慮されている。(なりすまし・盗聴・改ざん等)
|
5
6
|
|
6
7
|
# 知りたいこと
|
7
|
-
|
8
|
+
エラー(後述)の原因と対策
|
8
|
-
2. ソースコードの内容が前提や目的に合致しているか。以下に思いつくままに危惧している点を列挙致します。
|
9
|
-
- WebHttpBindingを使用すること
|
10
|
-
- PFXファイル(個人情報交換ファイル・・・証明書と秘密鍵が格納されている)を使用すること
|
11
|
-
11/7追記
|
12
|
-
- MakeCertコマンドの以下のスイッチを削除しました。
|
13
|
-
ssスイッチ
|
14
|
-
srスイッチ
|
15
|
-
理由:個人情報交換ファイルを使った方法では、コンピューターに登録する必要がないと考えたため。
|
16
|
-
- 公開鍵をどうやってクライアント(サービス利用側)が指定するか、よくわからない。
|
17
9
|
|
18
|
-
|
19
|
-
|
20
|
-
以上が依頼内容です。
|
21
|
-
|
22
|
-
長文になり申し訳ございません。
|
23
|
-
最初に概要やイメージを、
|
24
|
-
続いて、ソースコードとエラー内容
|
25
10
|
最後に、証明書を発行するためのDOSコマンドを掲載しています。
|
26
11
|
テラテイルの先輩方よろしくお願い致します。
|
27
12
|
|
8
G
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
RESTFulなWCFサービスをSSLで保護したい。エラーが発生してメッセージのやり取りができない。
|
body
CHANGED
File without changes
|
7
F
title
CHANGED
File without changes
|
body
CHANGED
@@ -28,6 +28,7 @@
|
|
28
28
|
#概要
|
29
29
|
###通信イメージ
|
30
30
|

|
31
|
+

|
31
32
|
|
32
33
|
###サービス外観
|
33
34
|
](2365d4e98d69129cd3192ba7cf05c2b8.png)
|
6
e
title
CHANGED
File without changes
|
body
CHANGED
@@ -254,7 +254,7 @@
|
|
254
254
|
個人情報交換ファイルの作成
|
255
255
|
pvk2pfx -pvk ServerCert1.pvk -spc ServerCert1.spc -po pswd -pfx ServerCert1.pfx -f
|
256
256
|
```
|
257
|
-
#試したこと
|
257
|
+
#試したこと1
|
258
258
|
①パワーシェルで、以下のコマンドを実行し、証明書の捺印を取得
|
259
259
|
Get-PfxCertificate -FilePath ServerCert1.pfx
|
260
260
|
|
@@ -266,10 +266,10 @@
|
|
266
266
|
SSL 証明書を追加できませんでした。エラー: 1312
|
267
267
|
指定されたログオン セッションは存在しません。そのセッションは既に終了している可能性があります。
|
268
268
|
|
269
|
-
#試したこと
|
269
|
+
#試したこと2
|
270
270
|
サービスとクライアントの各ソースコードからセキュリティ関連のコードを除去した場合は、正常なメッセージのやり取りが実現できています。
|
271
271
|
|
272
|
-
#試したこと
|
272
|
+
#試したこと3
|
273
273
|
X509Certificate2メソッドのパスワードの引数をわざと違うものに設定するとちゃんとエラーになります。
|
274
274
|
|
275
275
|
#補足1
|
5
d
title
CHANGED
File without changes
|
body
CHANGED
@@ -254,8 +254,30 @@
|
|
254
254
|
個人情報交換ファイルの作成
|
255
255
|
pvk2pfx -pvk ServerCert1.pvk -spc ServerCert1.spc -po pswd -pfx ServerCert1.pfx -f
|
256
256
|
```
|
257
|
+
#試したこと2
|
258
|
+
①パワーシェルで、以下のコマンドを実行し、証明書の捺印を取得
|
259
|
+
Get-PfxCertificate -FilePath ServerCert1.pfx
|
257
260
|
|
261
|
+
②トランスポート層で X.509 証明書を使用して認証するクライアントをサポートするために
|
262
|
+
netsh http add sslcert ipport=0.0.0.0:5000 certhash=9512A6EA3042F7717EA02194097187207136E5FB appid={541eea84-c788-4d23-b6b2-f5210bcdf5c5} clientcertnegotiation=enable
|
263
|
+
を実行 ※certhashに①で取得した捺印を、appidには、Visual StudioのサービスプロジェクトのプロパティウィンドウにあるGUIDを設定。
|
258
264
|
|
265
|
+
===>下記エラー発生
|
266
|
+
SSL 証明書を追加できませんでした。エラー: 1312
|
267
|
+
指定されたログオン セッションは存在しません。そのセッションは既に終了している可能性があります。
|
268
|
+
|
269
|
+
#試したこと3
|
270
|
+
サービスとクライアントの各ソースコードからセキュリティ関連のコードを除去した場合は、正常なメッセージのやり取りが実現できています。
|
271
|
+
|
272
|
+
#試したこと4
|
273
|
+
X509Certificate2メソッドのパスワードの引数をわざと違うものに設定するとちゃんとエラーになります。
|
274
|
+
|
275
|
+
#補足1
|
276
|
+
IISでは.pfxファイルをコンピュータにインポートするが、今回の試みでは、X509Certificate2メソッドの引数にファイルを指定している。
|
277
|
+
|
278
|
+
#補足2
|
279
|
+
HTTPS通信は、共通鍵暗号方式と公開鍵暗号方式のハイブリッドで成り立っているらしい。
|
280
|
+
|
259
281
|
### 環境
|
260
282
|
Microsoft Windows 10 Pro (Version 1903)
|
261
283
|
Microsoft Visual Studio Community 2019
|
4
d
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
# 知りたいこと
|
7
7
|
1. エラー(後述)の原因と対策
|
8
|
-
2. ソースコードの内容が前提や目的に合致しているか。
|
8
|
+
2. ソースコードの内容が前提や目的に合致しているか。以下に思いつくままに危惧している点を列挙致します。
|
9
9
|
- WebHttpBindingを使用すること
|
10
10
|
- PFXファイル(個人情報交換ファイル・・・証明書と秘密鍵が格納されている)を使用すること
|
11
11
|
11/7追記
|
3
c
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,9 +6,17 @@
|
|
6
6
|
# 知りたいこと
|
7
7
|
1. エラー(後述)の原因と対策
|
8
8
|
2. ソースコードの内容が前提や目的に合致しているか。
|
9
|
-
WebHttpBindingを使用すること
|
9
|
+
- WebHttpBindingを使用すること
|
10
|
-
PFXファイル(個人情報交換ファイル・・・証明書と秘密鍵が格納されている)を使用すること
|
10
|
+
- PFXファイル(個人情報交換ファイル・・・証明書と秘密鍵が格納されている)を使用すること
|
11
|
+
11/7追記
|
12
|
+
- MakeCertコマンドの以下のスイッチを削除しました。
|
13
|
+
ssスイッチ
|
14
|
+
srスイッチ
|
15
|
+
理由:個人情報交換ファイルを使った方法では、コンピューターに登録する必要がないと考えたため。
|
16
|
+
- 公開鍵をどうやってクライアント(サービス利用側)が指定するか、よくわからない。
|
11
17
|
|
18
|
+
|
19
|
+
|
12
20
|
以上が依頼内容です。
|
13
21
|
|
14
22
|
長文になり申し訳ございません。
|
2
b
title
CHANGED
File without changes
|
body
CHANGED
@@ -249,6 +249,6 @@
|
|
249
249
|
|
250
250
|
|
251
251
|
### 環境
|
252
|
-
Microsoft Windows 10 Pro (Version
|
252
|
+
Microsoft Windows 10 Pro (Version 1903)
|
253
|
-
Microsoft Visual Studio Community
|
253
|
+
Microsoft Visual Studio Community 2019
|
254
|
-
Microsoft .NET Framework
|
254
|
+
Microsoft .NET Framework 4.7.2
|
1
a
title
CHANGED
File without changes
|
body
CHANGED
@@ -233,7 +233,7 @@
|
|
233
233
|
```
|
234
234
|
|
235
235
|
## エラー内容
|
236
|
-
https://
|
236
|
+
https://123.123.123.123:5000/TestService/PostMsg に対する HTTP 要求の発行中にエラーが発生しました。この原因としては、HTTPS ケースの HTTP.SYS でサーバー証明書が正しく構成されていないこと、またはクライアントとサーバーの間でセキュリティ バインドが整合していないことが考えられます。
|
237
237
|
|
238
238
|
##### 証明書作成
|
239
239
|
```DOS
|