【发布时间】:2015-04-01 07:22:16
【问题描述】:
所以这让我疯狂了 1 天。我正在尝试与 xamarin.android 上的 REST API 交谈,但由于某种原因,我收到此错误:
InnerException {Mono.Security.Protocol.Tls.TlsException:无效 从服务器收到的证书。错误代码:0xffffffff800b010a 在 Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.RemoteValidation (Mono.Security.Protocol.Tls.ClientContext 上下文,AlertDescription 描述)[0x00000] in :0 at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates (Mono.Security.X509.X509CertificateCollection 证书)[0x00000] 在 :0 在 Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1 () [0x00000] 在 :0 处 Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process() [0x00000] 在 :0 处 Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessage (Mono.Security.Protocol.Tls.TlsStream handMsg) [0x00000] in :0 at Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult) [0x00000] in :0 Mono.Security.Protocol.Tls.TlsException经过一些研究,我发现这与我正在与之交谈的服务器缺少证书有关(如果我错了,请纠正我)。所以我将 SSL 证书添加到我的 Mac 上的钥匙串中。我还运行了 Mozilla 命令来安装默认证书。
不幸的是,这仍然不起作用。在 Windows 上,与 API 的连接就像一个魅力。根据我的阅读,这是因为 Windows 拥有自己的 CA 存储和一些默认证书。
【问题讨论】:
标签: c# ssl mono xamarin xamarin.android