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

时间:2011-06-06 14:41:51

标签: https silverlight-oob full-trust

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

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

我仅将IIS 7.5配置为SSL并接受客户端证书。通过此设置,我最终在OOB中找不到服务找不到错误。将IIS设置为忽略客户端证书后,OOB应用程序正常工作。