完整版WPF Browser Application证书制作、发布与自动下载安装
2010-04-22 14:33
731 查看
WPF Browser Application中默认创建的.pfx数字证书有效期只有一年,并且“颁发者”、“颁发给”均为当前机器名和当前登陆用户名的组合,且客户端需要手动安装证书。
测试环境说明:
Windows XP professional sp3 + IIS5.1 + IE6,
Windows Server 2003 [b]Standard + IIS6 + IE6, [/b]
Windows Server 2008 Standard 64bit sp1 + IIS7.0 + IE7,
Windows 7 [b]professional 64bit + IIS7.5 + IE8[/b]
1) Windows XP, Windows Server 2003 与Windows Server2008做服务器与客户端都可用,
2) Windows7 因为证书安装程序安装证书时被拒绝访问,做客户端不可用。难道是安全性更高?
Windows7 做服务端也没问题, 其它机器做客户端测试通过。但IIS 7.5 要在局域网内被其它计算机访问需要设置一下:
1、依次选择:开始---所有程序---管理工具---高级安全 Windows 防火墙(或者从控制面板里直接找到 windows防火墙);
2、在高级安全 Windows 防火墙的左边栏,选择“入站规则”;
3、在右边栏选择"新建规则“;
4、在弹出的窗口依次选择:选中端口---下一步---选中TCP以及特定本地端口,填入要开放的端口号(这里填入80)---下一步---选中允许连接---下一步---选中所有选项---下一步---填入名称(这里填入IIS)---完成。
以下是总结的WPF Browser Application证书制作、发布与自动下载安装完整流程:
2) 用文本编辑器打开makeTestpfx.bat文件:
makecert -r -n "CN=Enterprise Name" -b 01/01/2009 -e 01/01/2011 -sv TestPrj.pvk TestPrj.cer
cert2spc TestPrj.cer TestPrj.spc
pvkimprt -pfx TestPrj.spc TestPrj.pvk
将"CN=Enterprise Name"中的Enterprise Name换成自己的公司名称,后面是证书有效起止日期,再后面就是要制作生成的证书名称,有TestPrj.pvk TestPrj.cer TestPrj.spc 三种,需要改名字的话就把这些TestPrj替换掉就可以。
3) 在控制台中执行makeTestpfx.bat文件,会首先弹出输入私钥密码对话框,输入密码2次点Ok,或者不输入密码直接点None;接着会弹出导出证书对话框,直接Next,然后选择导出私钥,下一步默认导出pfx证书,下一步输入密码(WindowsXP中可以不输入密码,而Vista和Windows7中必须输入密码),然后保存该pfx文件,证书导成功。
Package.xml
<?xml version="1.0" encoding="utf-8" ?>
<Package
xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
Name="DisplayName"
Culture="Culture"
>
<Strings>
<String Name="DisplayName">My Certificate Insteraller</String>
</Strings>
</Package>
3) 将CertificateInstaller包含到WPF Browser Application的安装程序中
在属性面板里面选择“Publish”选项,点击“Preequisites...”按钮
在弹出的“Preequisites”对话框中选中“Create setup program to install prerequisite components”,并在列表中找到“My Certificate Insteraler”(如果找不到的话,关闭VS再重新打开),选中它并点击“OK”按钮。
4) 右键点击项目工程,publish该项目到指定的Web Application服务器即可。
可以看到“My Certificate Insteraler”已经被包含在安装程序中了。点击“Run”按钮,会弹出下面的对话框。
点击“Run”按钮,并在弹出的对话框上继续点击“Run”按钮。
这个时候就会弹出安装对话框,点击“Install”按钮就会运行CertificateInstaller.exe,自动下载并安装数字证书。
通过上面的步骤,数字证书就自动安装到了客户端电脑上了。以后用户就可以直接访问WPF Browser Application了。
需要注意的问题:
为了保证能够正确制作证书且各种客户端能正确下载,需要保证测试环境纯净可靠:
1)服务器端publish目录除cer文件外删除干净后,在Visual Studio中publish工程;
2)从客户端的IE中,将相关证书删除干净。具体2个位置:
Tools->Interent Options->Content->Certificates->Trusted Root Certification Authorities / Trusted Publishers
3)将WPF程序在客户端临时文件夹的缓存删除,位置:
windows XP客户端:C:\Documents and Setting\<user name>\Local Settings\Apps\2.0\
Vista 客户端 C:\Users\<user name>\AppData\Local\Apps\2.0\
将该目录下的文件删光光,再重新打开IE浏览器访问你的网站。
以上内容部分转载自:
http://blog.csdn.net/starlee/archive/2009/04/13/4068480.aspx
http://blog.csdn.net/starlee/archive/2009/04/14/4071549.aspx
测试环境说明:
Windows XP professional sp3 + IIS5.1 + IE6,
Windows Server 2003 [b]Standard + IIS6 + IE6, [/b]
Windows Server 2008 Standard 64bit sp1 + IIS7.0 + IE7,
Windows 7 [b]professional 64bit + IIS7.5 + IE8[/b]
1) Windows XP, Windows Server 2003 与Windows Server2008做服务器与客户端都可用,
2) Windows7 因为证书安装程序安装证书时被拒绝访问,做客户端不可用。难道是安全性更高?
Windows7 做服务端也没问题, 其它机器做客户端测试通过。但IIS 7.5 要在局域网内被其它计算机访问需要设置一下:
1、依次选择:开始---所有程序---管理工具---高级安全 Windows 防火墙(或者从控制面板里直接找到 windows防火墙);
2、在高级安全 Windows 防火墙的左边栏,选择“入站规则”;
3、在右边栏选择"新建规则“;
4、在弹出的窗口依次选择:选中端口---下一步---选中TCP以及特定本地端口,填入要开放的端口号(这里填入80)---下一步---选中允许连接---下一步---选中所有选项---下一步---填入名称(这里填入IIS)---完成。
以下是总结的WPF Browser Application证书制作、发布与自动下载安装完整流程:
1. 首先制作自己的pfx数字证书
1) 下载附件TestProjectpfx.rar解压后得到3个exe文件,1个bat文件。2) 用文本编辑器打开makeTestpfx.bat文件:
makecert -r -n "CN=Enterprise Name" -b 01/01/2009 -e 01/01/2011 -sv TestPrj.pvk TestPrj.cer
cert2spc TestPrj.cer TestPrj.spc
pvkimprt -pfx TestPrj.spc TestPrj.pvk
将"CN=Enterprise Name"中的Enterprise Name换成自己的公司名称,后面是证书有效起止日期,再后面就是要制作生成的证书名称,有TestPrj.pvk TestPrj.cer TestPrj.spc 三种,需要改名字的话就把这些TestPrj替换掉就可以。
3) 在控制台中执行makeTestpfx.bat文件,会首先弹出输入私钥密码对话框,输入密码2次点Ok,或者不输入密码直接点None;接着会弹出导出证书对话框,直接Next,然后选择导出私钥,下一步默认导出pfx证书,下一步输入密码(WindowsXP中可以不输入密码,而Vista和Windows7中必须输入密码),然后保存该pfx文件,证书导成功。
2. 替换默认生成证书
打开如下界面:Package.xml
<?xml version="1.0" encoding="utf-8" ?>
<Package
xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
Name="DisplayName"
Culture="Culture"
>
<Strings>
<String Name="DisplayName">My Certificate Insteraller</String>
</Strings>
</Package>
3) 将CertificateInstaller包含到WPF Browser Application的安装程序中
在属性面板里面选择“Publish”选项,点击“Preequisites...”按钮
在弹出的“Preequisites”对话框中选中“Create setup program to install prerequisite components”,并在列表中找到“My Certificate Insteraler”(如果找不到的话,关闭VS再重新打开),选中它并点击“OK”按钮。
4) 右键点击项目工程,publish该项目到指定的Web Application服务器即可。
4. 客户端安装数字证书
客户端用浏览器访问WPF Browser Application时会出现类似下面这样的页面。
点击“Run”按钮,并在弹出的对话框上继续点击“Run”按钮。
这个时候就会弹出安装对话框,点击“Install”按钮就会运行CertificateInstaller.exe,自动下载并安装数字证书。
通过上面的步骤,数字证书就自动安装到了客户端电脑上了。以后用户就可以直接访问WPF Browser Application了。
需要注意的问题:
为了保证能够正确制作证书且各种客户端能正确下载,需要保证测试环境纯净可靠:
1)服务器端publish目录除cer文件外删除干净后,在Visual Studio中publish工程;
2)从客户端的IE中,将相关证书删除干净。具体2个位置:
Tools->Interent Options->Content->Certificates->Trusted Root Certification Authorities / Trusted Publishers
3)将WPF程序在客户端临时文件夹的缓存删除,位置:
windows XP客户端:C:\Documents and Setting\<user name>\Local Settings\Apps\2.0\
Vista 客户端 C:\Users\<user name>\AppData\Local\Apps\2.0\
将该目录下的文件删光光,再重新打开IE浏览器访问你的网站。
以上内容部分转载自:
http://blog.csdn.net/starlee/archive/2009/04/13/4068480.aspx
http://blog.csdn.net/starlee/archive/2009/04/14/4071549.aspx
相关文章推荐
- 让WPF Browser Application自动下载并安装数字证书
- 让WPF Browser Application自动下载并安装数字证书(转)
- WPF 浏览器程序 证书制作与客户端自动下载安装
- WPF:Browser Application 发布基础
- 运维网集成制作发布的Cacti+Nagios(全自动安装)
- iOS应用发布流程(一)------相关app证书的申请、下载以及安装
- 运维网集成制作发布的Cacti+Nagios(中英文版全自动安装)
- 给WPF Browser Application创建数字证书
- Activex打包于发布完整版---微软证书制作
- 发布企业版应用遇到“无法安装应用程序,证书无效”、“无法下载应用程序,此时无法安装”
- 运维网集成制作发布的Cacti+Nagios(全自动安装)
- 手机软件管家 V0.12 申请手机证书、下载软件免签名自动安装
- 运维网集成制作发布的Cacti+Nagios(全自动安装)
- 给WPF Browser Application创建数字证书(转)
- Activex打包于发布完整版---微软证书制作
- 通过MageUi.exe修改通过ClickOnce发布过的WPF browser application 配置文件
- WPF, WPF Browser Application(XBAP) 和 Silverlight 的区别
- 自动下载安装更新程序
- 制作CentOS 5.9自动安装光盘iso镜像
- Android开发之文件下载,状态时显示下载进度,点击自动安装