Mono信任除Google以外的所有人

时间:2017-02-18 01:56:43

标签: c# ssl mono

我正在使用通过SSL使用Google服务的应用。但是,在尝试连接时,我得到以下异常。

System.Net.WebException: Error: TrustFailure (The authentication or decryption has failed.) ---> System.IO.IOException: The authentication or decryption has failed. ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: Invalid certificate received from server. Error code: 0xffffffff800b010a
at Mono.Security.Protocol.Tls.RecordProtocol.EndReceiveRecord (System.IAsyncResult asyncResult) [0x0003a] in /build/mono/src/mono-4.6.1/mcs/class/Mono.Security/Mono.Security.Protocol.Tls/RecordProtocol.cs:430

我在Arch Linux上运行Mono 4.6.1版。通过https连接到google.com,Chrome和Firefox都没有问题。

我已按照steps here确保Mono的证书存储与我的系统证书存储同步。我确保安装了ca-certificates,然后我同时运行了cert-sync /etc/ssl/certs/ca-certificates.crtmozroots --import。然后,我尝试使用tlstest.exe工具测试与各种网站的SSL连接。除了google.com之外,它还成功连接到我能想到的每个网站。这包括github.com,arstechnica.com,stackoverflow.com,nuget.org。

以下是Google的情况。

$ mono tlstest.exe https://google.com

https://google.com
[Subject]
  CN=*.google.com, O=Google Inc, L=Mountain View, S=California, C=US

[Issuer]
  CN=Google Internet Authority G2, O=Google Inc, C=US

[Not Before]
  2/1/2017 5:47:18 AM

[Not After]
  4/26/2017 6:21:00 AM

[Thumbprint]
  B2F9FF2ECD53E370B4401F00AFB7CC44F407A8CA


    Valid From:  2/1/2017 5:47:18 AM
    Valid Until: 4/26/2017 6:21:00 AM

Error #-2146762486: CERT_E_CHAINING 0x800B010A

我不知道此时该做什么。

0 个答案:

没有答案