C# SSL/TLS HTTPS & legit/trusted 证书错误
C# SSL/TLS HTTPS & legit/trusted certificate error
最近我从 LetsEncrypt 获得了一个由受信任的 CA 签名的证书。如您所知,这是一个将证书提交给 DST 根 CA X3 的中间 CA。
我已经为四个不同的 URL 设置了证书,这只是一个例子:
Subject: CN=domain.com
SubjectAltName (SAN): www.domain.com,domain.com,www.subdomain.com,subdomain.com
好吧,当我尝试连接到 https://www.subdomain.com/index 时,它抛出一个异常,提示“从服务器收到的证书无效”。
我知道我没有弄错,因为我可以从任何计算机和传统浏览器访问我的子域。我非常熟悉 TLS 握手和 PKI 标准,X509v3 RFC 声明所有证书都应使用 SAN (SubjectAltName) 字段进行验证,如果不为空,则使用 CN,但它被认为已弃用。
那么这里发生了什么? WebRequest/HttpWebRequest
是否没有以正确的方式验证证书(如 RFC 所述)?好吧,我希望如此,他们忽略了 SAN 扩展。
我正在 Fedora 23 x64 中使用最新的 MonoDevelop,如果有帮助的话。是的,我的证书再次合法且有效 100%。
亲切的问候!
已解决!如我所见,Mono 的证书存储区不包含证书,甚至 Google 也不包含,因此我 运行 使用以下命令添加 LetsEncrypt 的根 CA:
sudo certmgr -ssl linktohttpsdomain
certmgr -ssl linktohttpsdomain
其中 linktohttpsdomain 等于您通过 https 的子域,抱歉 Whosebug 仍然不允许我 post 超过 2 个链接 post。
另外,还有一个办法。您可以使用以下命令从其数据库 运行 添加 Mozilla 的根证书:
mozroots --import --sync
将出现以下输出:
Importing certificates into user store...
140 new root certificates were added to your trust store.
Import process completed.
最近我从 LetsEncrypt 获得了一个由受信任的 CA 签名的证书。如您所知,这是一个将证书提交给 DST 根 CA X3 的中间 CA。
我已经为四个不同的 URL 设置了证书,这只是一个例子:
Subject: CN=domain.com
SubjectAltName (SAN): www.domain.com,domain.com,www.subdomain.com,subdomain.com
好吧,当我尝试连接到 https://www.subdomain.com/index 时,它抛出一个异常,提示“从服务器收到的证书无效”。
我知道我没有弄错,因为我可以从任何计算机和传统浏览器访问我的子域。我非常熟悉 TLS 握手和 PKI 标准,X509v3 RFC 声明所有证书都应使用 SAN (SubjectAltName) 字段进行验证,如果不为空,则使用 CN,但它被认为已弃用。
那么这里发生了什么? WebRequest/HttpWebRequest
是否没有以正确的方式验证证书(如 RFC 所述)?好吧,我希望如此,他们忽略了 SAN 扩展。
我正在 Fedora 23 x64 中使用最新的 MonoDevelop,如果有帮助的话。是的,我的证书再次合法且有效 100%。
亲切的问候!
已解决!如我所见,Mono 的证书存储区不包含证书,甚至 Google 也不包含,因此我 运行 使用以下命令添加 LetsEncrypt 的根 CA:
sudo certmgr -ssl linktohttpsdomain
certmgr -ssl linktohttpsdomain
其中 linktohttpsdomain 等于您通过 https 的子域,抱歉 Whosebug 仍然不允许我 post 超过 2 个链接 post。
另外,还有一个办法。您可以使用以下命令从其数据库 运行 添加 Mozilla 的根证书:
mozroots --import --sync
将出现以下输出:
Importing certificates into user store...
140 new root certificates were added to your trust store.
Import process completed.