我正在尝试设置基于证书的客户端身份验证。
为此,我创建了一个 CA 根证书(称为pi.key
和pi.crt
),然后签署了一个客户端证书(称为Hairy.key
和Hairy.csr
),还创建了一个Hairy.crt
和Hairy.p12
文件。我遵循了这些说明。
我已将该Hairy.p12
文件添加到 Google Chrome 中,如下所示这些说明。
接下来我将以下内容添加到我的httpd.conf
(at /etc/apache2/apache2.conf
) 中:
SSLVerifyClient none
SSLCACertificateFile /etc/apache2/ssl-keys/pi.crt
<Location /InternalAccess/NetData>
SSLVerifyClient require
SSLVerifyDepth 1
</Location>
并使用 重新启动服务器service apache2 restart
。
根据Apache 网站(第二个标题),这应该允许任何人访问网站的大部分内容,但只有我(Hairy.p12
安装了证书的人)才能访问/InternalAccess/NetData/
。
为了测试它,我在 Firefox 中打开它并能够访问该页面。我原本以为会收到 401 未授权错误。
然后我尝试使用这一页但是它已经很旧了(Apache 1,谈论的是 Netscape!)并且没有澄清我所做错的任何事。
/InternalAccess/NetData/
那么,我如何使用我签名的证书来限制客户端的路径?