回答編集履歴

1

追記

2019/07/01 08:37

投稿

TaichiYanagiya
TaichiYanagiya

スコア12146

test CHANGED
@@ -15,3 +15,55 @@
15
15
  **/etc/httpd/conf/.htpasswd** ファイルに DN が登録されていることを確認ください。
16
16
 
17
17
  また、httpd プロセス実行ユーザー(CentOS なら apache ユーザー)で、/etc/httpd/conf/.htpasswd ファイルを読み込めるよう、パーミッションも確認ください。
18
+
19
+
20
+
21
+ ---
22
+
23
+ **(2019/07/01 17:37) 追記**
24
+
25
+ クライアント証明書に原因があるのか、Apache httpd やブラウザに原因があるのか、切り分けるといいと思います。
26
+
27
+
28
+
29
+ ###クライアント証明書の verify
30
+
31
+ ```
32
+
33
+ CA証明書: /etc/pki/CA/cacert.pem
34
+
35
+ クライアント証明書: newcert.pem
36
+
37
+
38
+
39
+ $ openssl verify -CAfile /etc/pki/CA/cacert.pem ./newcert.pem
40
+
41
+ ./newcert.pem: OK
42
+
43
+ ```
44
+
45
+
46
+
47
+ ###curl コマンドでクライアント証明書認証
48
+
49
+ ```
50
+
51
+ CA証明書: /etc/pki/CA/cacert.pem
52
+
53
+ クライアント秘密鍵: newkey.pem
54
+
55
+ クライアント証明書: newcert.pem
56
+
57
+
58
+
59
+ $ curl -v --cacert /etc/pki/CA/cacert.pem --key ./newkey.pem --cert ./newcert.pem (URL)
60
+
61
+
62
+
63
+ ・応答コードが 200 OK →クライアント証明書で接続できた
64
+
65
+ ・応答コードが 401 Unauthorized →クライアント証明書が .htpasswd に登録されていない
66
+
67
+ ・「curl: (56) Peer does not recognize and trust the CA that issued your certificate.」→クライアント証明書の Issuer が CA証明書(SSLCACertificateFile)と合っていない
68
+
69
+ ```