4

我正在尝试设置 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?我已经找到了很多关于如何使用自签名密钥执行此操作的示例,但就使用签名密钥链而言,我的理解开始滞后。谢谢你的帮助!

4

0 回答 0