我想为我的本地网络建立一个CA。根证书应该安装在各种设备上(iPhone、Windows、MacBook)。有了服务器证书,我想保护浏览器和and服务器之间的通信(Debian10.1上的nginx1.17作为反向代理)。
我使用以下命令创建了根证书:
# key
openssl genrsa -des3 -out rootCA.key 4096
# root-certificate
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.crt然后,我为特定的服务器创建了一个CSR:
# key
openssl genrsa -out myserver.local.key 2048
# csr
openssl req -new -key myserver.local.key -out myserver.local.csr最后,我用根键创建了服务器证书:
openssl x509 -req -in myserver.local.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out myserver.local.crt -days 500 -sha256在nginx的配置中,我添加了以下条目:
lists 443 ssl;
server_name myserver.local;
ssl_certificate /etc/nginx/certificates/myserver.local/myserver.local.crt;
ssl_certificate_key /etc/nginx/certificates/myserver.local/myserver.local.key;
ssl_dhparam /etc/nginx/dhparams.pem;我在iOS (版本13)设备上安装了根证书,然后在设置(Settings - General - Profile)中接受了证书。
重新启动服务器后,我仍然会得到证书不受信任的提示。不幸的是,iOS没有给我详细的信息,所以我找不到从哪里开始故障排除的线索。在带有Chrome和Safari的MacOS上,我也会收到一条错误消息。这里,我也将根证书导入到密钥链中。
有人知道这是怎么回事吗?
发布于 2021-07-01 17:58:13
你创建了一个扩展验证(EV)证书吗?它们包含了CN以外的其他记录(例如:国家、城市)。
我遇到了一个类似的证书拒绝错误。
这是因为扩展验证,我们没有在证书中包含一个扩展,它通常要求CA验证主体的合法身份。
源,以及如何解决该问题的信息:https://gist.github.com/Soarez/9688998#openssl-ca
https://serverfault.com/questions/987911
复制相似问题