2012-04-03 100 views
4

我想在Windows8消费者预览的ssl套接字中使用自签名证书。我正在此例外:覆盖Windows8中的证书验证

异常信息:System.Runtime.InteropServices.COMException(0x800B0109):处理证书链,但其中不被信任提供商所信任的根证书终止。 (从HRESULT异常:?0x800B0109

是否有可能重写SSL证书的验证喜欢的东西remotecertificatevalidationcallback,这似乎并没有要对Windows8的访问

感谢很多提前

+0

将自己添加到受信任的CA列表。 http://windows.microsoft.com/en-US/windows-vista/View-or-manage-your-certificates – 2012-04-03 01:48:14

+0

我不想手动添加。我想以编程方式覆盖它,因为客户端和服务器互相信任,只想用服务器的公钥加密数据。 – pkumar0 2012-04-03 05:13:36

回答

0

在Silverlight中(它有一个非常类似的安全模型),在连接中没有办法解决SSL错误。我唯一的解决方法是服务器端代理隐藏SSL错误。你会找到一种方法来做我Win8沙盒中的安全连接(与Silverlight相同)。

+0

我们能够获得SSL以使用真正的geotrust证书。需要注意的一点是,如果您获得“foo.com”的证书,但您的服务器的DNS不会以“foo.com”结尾,则必须使用UpgradeToSslAsync – pkumar0 2012-06-26 23:42:43

+0

等待aTcpClient.ConnectAsync( )新的Windows.Networking .HostName(Params.RemoteHost), “443”, SocketProtectionLevel.PlainSocket ); //如果您需要在启动SSL之前接收/接收,请等待aTcpClient.UpgradeToSslAsync(SocketProtectionLevel.Ssl,new Windows.Networking.HostName(“x.foo.com”)); – pkumar0 2012-06-26 23:46:54