回答編集履歴

3

「3\. 」がマークダウンと解釈されて「1」となってしまったので、修正。

2017/08/23 03:56

投稿

TaichiYanagiya
TaichiYanagiya

スコア12146

test CHANGED
@@ -62,6 +62,6 @@
62
62
 
63
63
  もしかすると、SSLCACertificateFile に設定する CA証明書は p12 ファイルに含まれていないのではないでしょうか。
64
64
 
65
- 3. の接続で、「相手が持っているクライアント証明書」(手元の p12 ではないかもしれない)を発行した CA の証明書を入手できないか、確認ください。
65
+ 3の接続で、「相手が持っているクライアント証明書」(手元の p12 ではないかもしれない)を発行した CA の証明書を入手できないか、確認ください。
66
66
 
67
67
 

2

追記: CA証明書の入手

2017/08/23 03:56

投稿

TaichiYanagiya
TaichiYanagiya

スコア12146

test CHANGED
@@ -55,3 +55,13 @@
55
55
  2つ以上あるなら、2つ目以降を切り出して SSLCACertificateFile のファイルとします。
56
56
 
57
57
 
58
+
59
+ ---
60
+
61
+ **(2017/08/23 12:55) 追記**
62
+
63
+ もしかすると、SSLCACertificateFile に設定する CA証明書は p12 ファイルに含まれていないのではないでしょうか。
64
+
65
+ 3. の接続で、「相手が持っているクライアント証明書」(手元の p12 ではないかもしれない)を発行した CA の証明書を入手できないか、確認ください。
66
+
67
+

1

追記: クライアント証明書認証設定

2017/08/23 03:55

投稿

TaichiYanagiya
TaichiYanagiya

スコア12146

test CHANGED
@@ -1,3 +1,57 @@
1
1
  p12 から pem 形式への変換は `openssl pkcs12` でできると思います。
2
2
 
3
3
  でも、その p12 ファイルは、相手のWeb(HTTPS)サーバーに接続するための HTTPSクライアント用の証明書なのでは?
4
+
5
+
6
+
7
+ ---
8
+
9
+ **(2017/08/21 16:25) 追記**
10
+
11
+
12
+
13
+ > 3.相手→自サーバー のPOSTリクエスト送信2
14
+
15
+ > 今問題になっているやつです。
16
+
17
+ > 相手曰く、サーバークライアント認証らしいです。
18
+
19
+
20
+
21
+ クライアント証明書認証には以下の設定が必要です。
22
+
23
+ ```
24
+
25
+ SSLVerifyClient require
26
+
27
+ SSLCACertificateFile (CA証明書のファイル, PEM形式)
28
+
29
+ SSLVerifyDepth 1
30
+
31
+ ```
32
+
33
+
34
+
35
+ - まず、`SSLVerifyClient require` として、クライアント証明書を必須とします。
36
+
37
+ - SSL 接続時に送られてくるクライアント証明書が正しい Issuer であるかどうか、`SSLCACertificateFile` で指定した CA証明書と照合します。
38
+
39
+ - 照合の際、中間証明書などがある場合は `SSLVerifyDepth` の値を大きくします。
40
+
41
+ - `SSLRequire` または [Require expr](http://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#reqexpr) で、証明書の O, OU などで絞り込みます。
42
+
43
+
44
+
45
+ 詳しくは [http://httpd.apache.org/docs/2.4/mod/mod_ssl.html](http://httpd.apache.org/docs/2.4/mod/mod_ssl.html) を参照ください。
46
+
47
+
48
+
49
+ 相手から送られてくる証明書が手元の p12 ファイルということでしょうか?
50
+
51
+ 「1.自端末(WEBサーバーではない)→相手 のPOSTリクエスト送信」と共用することは考えにくいのですが、もし、そうであれば、p12 ファイルに CA証明書ファイルが入っていないでしょうか?
52
+
53
+ 「-----BEGIN CERTIFICATE-----」から「-----END CERTIFICATE-----」までが証明書で、
54
+
55
+ 2つ以上あるなら、2つ目以降を切り出して SSLCACertificateFile のファイルとします。
56
+
57
+