![为子域创建自签名证书,主域不属于我](https://linux22.com/image/782091/%E4%B8%BA%E5%AD%90%E5%9F%9F%E5%88%9B%E5%BB%BA%E8%87%AA%E7%AD%BE%E5%90%8D%E8%AF%81%E4%B9%A6%EF%BC%8C%E4%B8%BB%E5%9F%9F%E4%B8%8D%E5%B1%9E%E4%BA%8E%E6%88%91.png)
我的互联网盒子提供商为我提供了一个免费的子域名来连接到我的网络,例如:xxxxx.provider.com
我已经为子域 foo.provider.com 生成了自签名证书,我尝试在 Windows 中安装它,但它没有验证我的证书 NET::ERR_CERT_COMMON_NAME_INVALID
是否可以在子域名和主域名不属于我们的情况下生成自签名证书?
答案1
自签名证书不会被任何浏览器信任。证书的用途是什么?如果需要可以在浏览器中使用的证书,您可以使用让我们加密。
答案2
dave_thompson_085 对我的帖子的评论帮助我解决了这个问题,
我添加了 -addext“subjectAltName = DNS:xxxx.provider.com”并将证书重新导入 Windows,现在它可以正常工作了。
这是我用来生成自签名证书的命令
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -addext "subjectAltName = DNS:xxxx.provider.com" -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt
然后我回答了通用名称(例如服务器 FQDN 或您的名称)[]: xxxx.provider.com
然后我将证书导入到 Windows 中的证书管理器中,它就起作用了