WPF发布程序后未授予信任的解决办法

基于浏览器的WPF应用程序由于需要比较高的操作权限,所以在项目的安全性属性中选择了“这是完全可信的应用程序”选项。可是,在发布部署后,在其他电脑上打开xbap文件的时候,提示“未授予信任无法部署该应用,因为它不受信任并且可能不安全。”的错误。打开log文件发现在下载程序时候触发了TrustNotGrantedException异常。

解决办法:

大步骤分为3步:制作特定域名访问的证书;使用该证书为程序集签名;把该证书导入到客户端的证书管理器中。

详细步骤如下:

1、生成用于192.168.0.130这个域名访问的,加密算法是2048位的,并指定存储位置的证明书:

makecert -r -n "CN=192.168.0.130" -b 01/01/2012 -e 01/01/2030 -a sha1 -len 2048 -ss CA -sr localmachine  -sv WpfBrowserApp_Key.pvk WpfBrowserApp_Key.cer

按提示设置私钥密码(也可以不使用密码)即可在当前目录生成相关文件

2、利用X.509证书(.cer)创建发行者证书 (.spc),用到cert2spc工具,命令如下:

cert2spc WpfBrowserApp_Key.cer WpfBrowserApp_Key.spc

3、从.pvk和.spc格式转换成.pfx格式,用到pvkimprt工具,命令如下:

pvkimprt -pfx WpfBrowserApp_Key.spc WpfBrowserApp_Key.pvk

按提示操作可导出.pfx证书,若第1步设置了私钥密码,此处需要输入验证

4、在vs项目的ClickOnce清单签名的证书设置处点击“从文件选择”浏览定位到第3步导出的.pfx证书,此处需要验证第3步中设置的证书私钥密码。

5、使用证书为程序集签名。如下图。

6、在客户端电脑上导入该证书到“受信任的根证书发布机构”、“受信任的发行者”、“受信任人”和“个人”中。

运行——mmc——添加删除管理单元——添加——证书——账户选择为“本地计算机”,然后再分别导入证书到不同的目录下。

最新文章

  1. sublime通用快捷键 汉化 安装 插件
  2. spark操作elasticsearch数据的限制
  3. 一些Demo链接
  4. nginx log记录请求的头信息
  5. 简单的ROT13码编码与解码
  6. Ubuntu搭建mysql,Navicat Premium连接
  7. AngularJS学习篇(七)
  8. Java——静态变量/方法与实例变量/方法的区别
  9. Linux恢复误删除的文件或者目录(转)
  10. mysql 开发进阶篇系列 22 磁盘I/O问题(从linux操作系统上优化)
  11. Java并发——Fork/Join框架与ForkJoinPool
  12. P1186 玛丽卡 删边最短路最大值
  13. qtftp 客户端
  14. 递归获取包下的class文件
  15. kafka学习之-集群配置及安装
  16. 机器学习入门-贝叶斯中文新闻分类任务 1. .map(做标签数字替换) 2.CountVectorizer(词频向量映射) 3.TfidfVectorizer(TFDIF向量映射) 4.MultinomialNB()贝叶斯模型构建
  17. oracle判断查询结果是否为空
  18. Html5 拖拽行为和AngularJs的结合
  19. 类的扩展之 DataReader的扩展
  20. oracle 存储过程 示例

热门文章

  1. python网络请求简洁之道--python requests简介
  2. Web Service工作原理
  3. Redis安全
  4. HTMl5的sessionStorage和localStorage(转)
  5. Android Studio tips and tricks 翻译学习
  6. 简单描述一下XIB与Storyboards,简述它们的优缺点。
  7. cocos2dx Menu
  8. VC 串口通信类
  9. vc中调用Com组件的方法详解
  10. java 中解析xml的技术