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

回答編集履歴

1

追記

2019/07/01 08:37

投稿

TaichiYanagiya
TaichiYanagiya

スコア12218

answer CHANGED
@@ -6,4 +6,30 @@
6
6
  ```
7
7
 
8
8
  **/etc/httpd/conf/.htpasswd** ファイルに DN が登録されていることを確認ください。
9
- また、httpd プロセス実行ユーザー(CentOS なら apache ユーザー)で、/etc/httpd/conf/.htpasswd ファイルを読み込めるよう、パーミッションも確認ください。
9
+ また、httpd プロセス実行ユーザー(CentOS なら apache ユーザー)で、/etc/httpd/conf/.htpasswd ファイルを読み込めるよう、パーミッションも確認ください。
10
+
11
+ ---
12
+ **(2019/07/01 17:37) 追記**
13
+ クライアント証明書に原因があるのか、Apache httpd やブラウザに原因があるのか、切り分けるといいと思います。
14
+
15
+ ###クライアント証明書の verify
16
+ ```
17
+ CA証明書: /etc/pki/CA/cacert.pem
18
+ クライアント証明書: newcert.pem
19
+
20
+ $ openssl verify -CAfile /etc/pki/CA/cacert.pem ./newcert.pem
21
+ ./newcert.pem: OK
22
+ ```
23
+
24
+ ###curl コマンドでクライアント証明書認証
25
+ ```
26
+ CA証明書: /etc/pki/CA/cacert.pem
27
+ クライアント秘密鍵: newkey.pem
28
+ クライアント証明書: newcert.pem
29
+
30
+ $ curl -v --cacert /etc/pki/CA/cacert.pem --key ./newkey.pem --cert ./newcert.pem (URL)
31
+
32
+ ・応答コードが 200 OK →クライアント証明書で接続できた
33
+ ・応答コードが 401 Unauthorized →クライアント証明書が .htpasswd に登録されていない
34
+ ・「curl: (56) Peer does not recognize and trust the CA that issued your certificate.」→クライアント証明書の Issuer が CA証明書(SSLCACertificateFile)と合っていない
35
+ ```