从浏览器外Silverlight 4应用程序访问HTTPS内容

从浏览器外Silverlight 4应用程序访问HTTPS内容,https,silverlight-oob,full-trust,Https,Silverlight Oob,Full Trust,我正在使用Silverlight 4.0中提供的COM互操作功能使用本地计算机的一些资源。因此,我自然需要具有提升权限的OOB。然而,在我的例子中,我正在使用HTTPS频道上托管的WCF服务。这就是我面临的问题所在。应用了提升权限的OOB不允许我使用托管在不同或相同域上的HTTPS服务,这给了我一个NotFound异常。请注意,我在开发环境中使用了自签名证书。我正在测试的客户机的受信任根文件夹中也安装了相同的文件 有趣的是,当我在Fiddler会话中设置Fiddler选项时,Toos->Fidd

我正在使用Silverlight 4.0中提供的COM互操作功能使用本地计算机的一些资源。因此,我自然需要具有提升权限的OOB。然而,在我的例子中,我正在使用HTTPS频道上托管的WCF服务。这就是我面临的问题所在。应用了提升权限的OOB不允许我使用托管在不同或相同域上的HTTPS服务,这给了我一个NotFound异常。请注意,我在开发环境中使用了自签名证书。我正在测试的客户机的受信任根文件夹中也安装了相同的文件

有趣的是,当我在Fiddler会话中设置Fiddler选项时,Toos->Fiddler options->HTTPS选项卡拦截HTTPS流量,并设置Decrypt HTTPS流量复选框,我可以毫无例外地使用相同的HTTPS服务。但为此,Fiddler告诉我在我的用户配置文件的Fiddler目录中存储一个临时证书,并且我当时必须至少有一个Fiddler会话。因此,这似乎是一个认证问题。但它是否与使用所需证书对XAP文件进行签名有关?我不确定。我尝试使用自签名证书并绑定我的层服务URL以使用该证书。然后,我将相同的证书安装到客户端的受信任根文件夹中。但是我没有成功地用该证书签署XAP


如果您有任何解决方法,请告诉我。

如果代码在不同用户的上下文中运行,您需要将自签名证书放入计算机受信任的根存储中。启动mmc.exe。在“文件”菜单上,选择添加管理单元。添加证书管理单元。选择本地机器。将自签名的根目录导入受信任的根目录存储。

我遇到了同样的问题,并发现IIS中的SSL设置错误


我将IIS 7.5配置为仅SSL并接受客户端证书。通过这些设置,我在OOB中发现了“未找到服务”错误。将IIS设置为忽略客户端证书后,OOB应用程序工作正常。

Hi Eric,感谢您的回复。此外,代码在相同的用户上下文中运行。我正在为承载WCF服务的节点使用自签名证书,并通过该证书绑定HTTPS通道。此证书也存在于受信任的根存储中。即使我无法访问相同的。我甚至无法使用该证书对XAP进行签名,错误显示该证书没有私钥。我是否需要使用本地生成的自签名证书并将其放入受信任的根存储中?还是用于绑定通道的证书?