问题非常明确,但我没有在网上找到任何有用的教程 . 所以我希望我能在这里运气好 .
基本上,我想用Apache构建客户端证书身份验证 . 我为我托管的网站配置了Apache的conf文件 . 我提出的问题在这里:
SSLVerifyClient require
SSLVerifyDepth 1
SSLCACertificateFile /etc/apache2/ssl/client.crt
但是我不知道如何为客户端生成证书和密钥文件 . 另外,我应该在Apache服务器配置中的SSLCACertificateFile上放置什么文件?
服务器是否只是将客户端发送的证书文件与服务器上的证书文件进行比较?客户端证书身份验证究竟在做什么?
2 回答
您可以在此处找到有关如何创建由此CA证书签名的CA证书和证书的说明:http://pages.cs.wisc.edu/~zmiller/ca-howto/
事情是这样的:
您设置了根CA密钥和证书
客户端生成他的私钥和证书请求
他们向您发送证书申请
您使用证书请求,根CA证书和根CA密钥生成证书
您将证书返回给客户端
然后,您可以检查客户端是否提供了CA“签名”的证书 .
了解SSLVerifyClient和其他指令非常重要 . 从Practical Issues with TLS Client Certificate Authentication(第3页):