建立Full Trust的Browser Application

WPF 的 Browser Application,运行于IE、Firefox(需要插件)等浏览器中,方便了部署,但也受至于浏览器的安全性限制。例如,有时候,需要访问磁盘上某个文件时,普通的Browser Application会出现“为授予信任(Trust not granted)”的错误:

image

以下是解决方案

修改安全属性

打开项目属性,选择Security选项卡,选择“This is a full trust application”单选框:

image

也可以根据项目具体内容,选择“This is a partial trust application”,然后设置相应权限。

添加代码签名

申请一个证书

在开发阶段,可以通过点击Create Test Certificate按钮来生成一个测试证书

image

同样的,还可以向Windows 证书服务器递交证书申请,证书的类型选择:“代码签名证书”,并将“标记密钥为可导出”选中:

image

完成后,把证书文件导出为pfx文件和cer文件,复制到项目文件夹下:

image

回到Visual Studio的Signing选项卡,点解“Select from File”,使用刚才导出的pfx文件:

image

该证书已被导入:

image

还可以点击More Details来查看该证书:

image

PS,在默认情况下,申请的证书有效期只有一年,可以通过修改证书服务器的注册表来延长证书的有效期:

在证书服务器上运行注册表编辑器,找到

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\CertSvc\Configuration\<CAName>

 

 

 

 

ValidityPeriod 修改为 Year

ValidityPeriodUnits 修改为 20(20年,够用了)

image

重启证书服务器,然后重新申请一个证书,现在,该证书的有效期变成20年了。

我们点击Publish Now,重新发布这个应用程序

image

在客户端安装证书

把上一步导出的cer文件复制到客户端,双击该文件,选择安装证书:

image

把证书安装到受信任的发行者

image

现在客户端也能访问了!

posted on 2011-05-06 16:52  carekee  阅读(755)  评论(0)    收藏  举报