经过数小时或研究后,我终于放弃了这个问题,需要帮助。我将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:无法验证第一个证书
我的问题是,我的受信任证书和我自己生成的证书有什么区别?我不知道为什么这不起作用,并且我没有其他错误消息可以依靠。
可以肯定的是,我为客户端和服务器使用了相同的受信任证书,但是我使用sefl生成的文件尝试了相同的操作,并且可以正常工作。
我没有头绪...
先感谢您。
是的,所以经过长时间的故障排除会话后,我发现我必须将全局根证书添加到我的Ubuntu服务器的受信任CA存储中,并将所有链证书添加到服务器端.crt文件中。
谢谢你。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句