我正在尝试设置 ssl 客户端身份验证。如果这有什么不同,我将使用startssl 作为CA。我从startssl获得了根证书、中间证书和客户端证书。我还有几个 s/mime 证书用于针对 startssl 网站进行身份验证。我想要完成的是为我自己的站点进行客户端证书身份验证。一切都使用自签名证书,但使用签名证书我感到困惑。
我有以下来自startssl的文件:
root.crt
intermediate.crt
ssl.crt
ssl.key
----------------
user@host-client.crt <- for authenticating against startssl
然后对于 nginx 我运行:
cat ssl.crt intermediate.crt root.crt > unified.crt
然后在 nginx 中:
server {
listen 443;
ssl on;
server_name example.com;
ssl_certificate /etc/nginx/certs/unified.crt;
ssl_certificate_key /etc/nginx/certs/ssl.key;
ssl_client_certificate /etc/nginx/certs/<WHAT GOES HERE>;
ssl_verify_client on;
location / {
root /var/www/example.com/html;
}
}
ssl_client_certificate
如果我想使用startssl s/mime 证书,或者是否有可能,我不确定该使用什么。
如果我不能使用startssl s/mime 证书:在这样的教程中,我将使用什么作为ca.key 和ca.crt(可能是统一的ssl?)。
在任何一种情况下,我如何确定ssl_verify_depth
?我已经找到了很多关于如何使用自签名密钥执行此操作的示例,但就使用签名密钥链而言,我的理解开始滞后。谢谢你的帮助!