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——添加删除管理单元——添加——证书——账户选择为“本地计算机”,然后再分别导入证书到不同的目录下。

WPF发布程序后未授予信任的解决办法的更多相关文章

  1. excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法

    excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法 office2007应该遇到“向程序发送命令时出现 问题”,设置为以管理员运行也不好用,重装office也不好用,下面介绍下 ...

  2. php history.back返回后表单数据丢失的解决办法

    js使用history.back返回表单数据丢失的主要原因就是使用了session_start();的原因,该函数会强制当前页面不被缓存.本文章向码农介绍php history.back返回后表单数据 ...

  3. Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法

    原文:Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法 前几个月使用Advanced Installer 打包了一堆安装包,其中有使用默认主题的,也有根据 ...

  4. MVC3在IIS7.5发布(部署)报403.14错误的解决办法

    MVC3在IIS7.5发布(部署)报403.14错误的解决办法     错误现象: 报403.14 forbidden错误 web服务器被配置为不列出此目录的内容. 解决办法: 检查站点的处理程序映射 ...

  5. CentOS6重启后DNS被还原的解决办法

    CentOS6重启后DNS被还原的解决办法 http://luyx30.blog.51cto.com/1029851/1070765/ centos6.5的64位系统,修改完/etc/sysconfi ...

  6. C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法

    原文:C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法 本人新手,在.Net中写WebAPI的时候,当接口返回的json数据含有日期时间类型的字段时, ...

  7. 添加Chrome插件时出现“程序包无效”等问题的解决办法

    相较之各大浏览器,我最喜欢的便是Chrome了,不只因为Chrome搜索,也因为Google Chrome强大的插件功能. 而这一切的东风,就是"谷歌访问助手". 谷歌访问助手的下 ...

  8. Eclipse中js文件修改后浏览器不能及时更新的解决办法

    项目中js文件修改后浏览器不能及时更新的解决办法 转载:http://www.codeweblog.com/%E9%A1%B9%E7%9B%AE%E4%B8%ADjs%E6%96%87%E4%BB%B ...

  9. 微信小程序上传后发布或者体验版测试无数据解决办法

    在做微信小程序开发的过程中,发现小程序在本地调用接口的数据都显示,但是上传之后,发现手机体验没有数据.以下为解决办法: 1.先清除缓存试试. 2.打开微信小程序工具右上角的详情——项目设置,将“不校验 ...

随机推荐

  1. <php>添加数据注意事项

    如果报错信息里有:fetch_all(),肯定是sql语句写错 get传值:<a href="chuli.php?name=1&code=2">处理</a ...

  2. 微博OpenAPI练习之问题记录

    今日想通过新浪微博OpenAPI,做一个客户端出来.可以说过程比较艰难.这里只记录下遇到的问题,其它的按api要求注册.创建应用什么就好了. 1.API jar引用问题 创建了自己的工程,并按照文档说 ...

  3. linux shell脚本连接oracle查询数据插入文件和日志文件中

    #!/bin/sh sqlplus "用户名/密码@数据库"<<EOF  或者只有一个库的 :sqlplus "用户名/密码"<<EOF ...

  4. 华为oj 计算字符个数

    练手而已 #include <stdio.h> #include <string.h> int main(void) { char string[200]={'\0'}; in ...

  5. git命令简图

    基本概念 版本库(repository)=.git目录 工作区(working)=当前工作的目录 暂存区(stage)=临时缓存 图示 仓库操作 分支操作 工作区操作 参考链接(相当好) http:/ ...

  6. arm汇编(c内嵌汇编及c和汇编互调)

    C语言编译成汇编: arm-linux-gcc -S test.c -o test.S C语言编译成可执行文件: arm-linux-gcc test.c -o test 多个文件编译链接: arm- ...

  7. Truncate Table user

    Truncate Table   百科名片 Truncate是一个能够快速清空资料表内所有资料的SQL语法.并且能针对具有自动递增值的字段,做计数重置归零重新计算的作用. 目录 语法 参数 注释 示例 ...

  8. memcached真实项目中的应用

    上一篇memcached介绍及基本使用介绍了memcached的一些基本概念和一个范例.这一篇将介绍一个memcached在实际项目中的应用

  9. C# 获取当前路径

    // 获取程序的基目录.System.AppDomain.CurrentDomain.BaseDirectory  F:\广告编辑系统新\taxi_edit\taxi_form\bin\Debug\ ...

  10. Git / Bower Errors: Exit Code # 128 & Failed connect

    今天第一次使用bower来安装插件,上来就报了这个错. 然后在google上查找,很多人都有做出回答,让执行如下 git config --global url.https://github.com/ ...