Nginx:客户端证书认证适用于自生成的证书,但不适用于“官方”证书

Nginx:客户端证书认证适用于自生成的证书,但不适用于“官方”证书

经过几个小时的研究,我终于放弃了这个问题并寻求帮助。我将 Nginx 服务器配置为通过证书处理客户端身份验证,这很简单:

首先,我使用本教程生成我的客户端和服务器 .crt https://fardog.io/blog/2017/12/30/client-side-certificate-authentication-with-nginx/

然后,我将这些行添加到我的配置中;

ssl_client_certificate /etc/nginx/ssl/myCA.crt;
ssl_verify_client on;

最后,我在工作站上安装了 .pfx,运行 Internet Explorer 并浏览我的网站。IE 要求我提供证书,一切正常!

之后,我决定使用真正的证书,由一家值得信赖的公司颁发,原因很明显。这是一个digicert sha2 安全服务器 ca顺便一提。

这次我将 .pfx 转换为 .crt 和 .key,我将 .crt 上传到我的 Nginx 服务器以替换 myCa.crt,然后将 pfx 添加到我的工作站。

不幸的是,这次 IE 不想提示我输入证书。我尝试使用 Postman,并收到此消息(将 pfx 添加到设置/证书后):21:无法验证第一个证书

我的问题是,我信任的证书和我自己生成的证书有什么区别?我不明白为什么这不起作用,而且我没有其他错误消息可以依赖。

当然,我对客户端和服务器使用相同的受信任证书,但是我尝试使用我自己生成的证书执行相同的操作并且成功了。

我没有任何线索……

先感谢您。

答案1

好的,经过长时间的故障排除后,我发现我必须将全局根证书添加到我的 Ubuntu 服务器的受信任的 CA 存储中,并在服务器端 .crt 文件中添加所有链证书。

谢谢。

相关内容