具有签名根和中间的nginx ssl客户端证书

时间:2013-01-24 14:41:50

标签: authentication ssl nginx ssl-certificate

我正在尝试设置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;
    }
}

如果我想使用startssl s / mime证书,或者如果可能的话,我不确定如何使用ssl_client_certificate

如果我不能使用startssl s / mime证书:在像this这样的教程中,我将使用什么作为ca.key和ca.crt(可能是统一的ssl?)。

在任何一种情况下,我如何确定ssl_verify_depth?我已经找到了许多如何使用自签名密钥执行此操作的示例,但就使用已签名的密钥链而言,我的理解开始滞后。谢谢你的帮助!

0 个答案:

没有答案