首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不接受由自签名根ca签名的nginx -自签名证书。

不接受由自签名根ca签名的nginx -自签名证书。
EN

Server Fault用户
提问于 2019-10-14 11:52:10
回答 1查看 2.4K关注 0票数 1

我想为我的本地网络建立一个CA。根证书应该安装在各种设备上(iPhone、Windows、MacBook)。有了服务器证书,我想保护浏览器和and服务器之间的通信(Debian10.1上的nginx1.17作为反向代理)。

我使用以下命令创建了根证书:

代码语言:javascript
复制
# 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:

代码语言:javascript
复制
# key
openssl genrsa -out myserver.local.key 2048

# csr
openssl req -new -key myserver.local.key -out myserver.local.csr

最后,我用根键创建了服务器证书:

代码语言:javascript
复制
openssl x509 -req -in myserver.local.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out myserver.local.crt -days 500 -sha256

在nginx的配置中,我添加了以下条目:

代码语言:javascript
复制
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上,我也会收到一条错误消息。这里,我也将根证书导入到密钥链中。

有人知道这是怎么回事吗?

EN

回答 1

Server Fault用户

发布于 2021-07-01 17:58:13

你创建了一个扩展验证(EV)证书吗?它们包含了CN以外的其他记录(例如:国家、城市)。

我遇到了一个类似的证书拒绝错误。

这是因为扩展验证,我们没有在证书中包含一个扩展,它通常要求CA验证主体的合法身份。

源,以及如何解决该问题的信息:https://gist.github.com/Soarez/9688998#openssl-ca

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/987911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档