400错误的请求没有发送必需的SSL证书。不便之处,敬请见谅。

时间:2018-07-04 09:17:14

标签: ssl nginx openssl

尝试设置启用客户端验证的启用SSL的nginx服务器时,我的浏览器出现标题错误

下面是我的nginx.conf:

keepalive_timeout  100;

server_tokens off;

server {
    listen 10.111.1.11:11111;
    server_name localhost;
    ssl on;
    ssl_certificate ca.crt;
    ssl_certificate_key newca.key;
    ssl_client_certificate client.crt;
    ssl_verify_client on;

    location / {
        root html;
        index index.html index.htm;
        proxy_ssl_session_reuse off;
        proxy_pass http://10.111.1.11::1234;
        proxy_ssl_name 10.111.1.11;
        proxy_ssl_server_name on;
        proxy_ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        proxy_ssl_ciphers HIGH:!aNULL:!MD5;
        proxy_ssl_certificate ca.crt;
        proxy_ssl_certificate_key newca.key;
    }
}

以下是我生成证书和密钥的步骤:

创建用于签署客户端证书的CA密钥和证书

openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt

创建客户端密钥和CSR

openssl genrsa -des3 -out client.key 4096
openssl req -new -key client.key -out client.csr

我的组织名称,通用名称,电子邮件的ca.crt和client.crt值不同

ca.crt的通用名称是服务器IP

client.crt的通用名称是客户端IP

使用我们的CA证书签署客户证书

openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt

转换为.p12,以便在OSX中进行导入

openssl pkcs12 -export -clcerts -inkey client.key -in client.crt -out client.p12 -name "MyKey"

删除了ca和客户端密钥的密码短语

openssl rsa -in ca.key -out newca.key

openssl rsa -in client.key -out newclient.key

我尝试将client.crt和client.p12作为受信任的根证书颁发机构上载到我的浏览器,但仍然无济于事(相同的错误)。

有什么提示吗?

0 个答案:

没有答案