Silverlight 创建项目签名证书

近日,需要为一个Silverlight项目添加签名证书(注意:如果单是为了测试,在VS项目->属性->签名,有个创建测试证书的功能,虽然这个证书的有效期是一年,是一年吧:(,忘记了。。。)。因为我的这个是需要部署到客户那边的,即使是测试的,测试期限也要长点啊,SO...

在网上找了很多例子,但都不详细,或者说不符合我的需求。最后,综合网上的资料,鄙人整理了如下。

本机装的是VS2012,以下所有工具都可在C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin目录找到。

 

第一步,打开CMD或者VS2012的工具命令

我用的是后者,如果是用CMD的,可直接把makecert.exe、cert2spc.exe等复制到C:\Windows\System32目录,这样的话输入命令时就不需要专门导航到对应的目录了

第二步,创建 X.509 证书

v7.1A\Bin目录里的makecert.exe为证书创建工具。
证书创建工具生成仅用于测试目的的 X.509 证书。它创建用于数字签名的公钥和私钥对,并将其存储在证书文件中。
此工具还将密钥对与指定发行者的名称相关联,并创建一个 X.509 证书,该证书将用户指定的名称绑定到密钥对的公共部分。
创建证书时会提示要求证书的私钥密码(Subject Key,两个密码输入框),并会在生成cer文件是再次要求输入密码(一个输入框),最后提示Succeeded,并在C:\Program Files (x86)\Microsoft Visual Studio 11.0(我的是x64位系统,不同的系统,目录路径可能有所区别)目录下生成两个文件。
参考:http://msdn.microsoft.com/zh-cn/library/bfsktky3(v=vs.110).aspx

命令:

makecert  -r -n "CN=广州软件有限公司" -b 01/01/2014 -e 12/31/2100 -sv IvanSetupKey.pvk IvanSetupKey.cer

 

第三步,创建发行者证书

cert2spc.exe发行者证书测试工具
发行者证书测试工具通过一个或多个 X.509 证书创建发行者证书 (SPC)。Cert2spc.exe 仅用于测试目的。可以从证书颁发机构(如 VeriSign 或 Thawte)获得有效的 SPC。
参考:http://msdn.microsoft.com/zh-cn/library/f657tk8f(v=vs.110).aspx
生成发行者证书时,不要求输入私钥密码,提示成功后,在IvanSetupKey.cer证书所在目录,可以看到多了一个IvanSetupKey.spc文件

命令:

cert2spc IvanSetupKey.cer IvanSetupKey.spc

 

 

第四步,导出证书文件

pvkimprt.exe是证书导出工具。需要从微软网站下载:http://download.microsoft.com/download/vba50/Utility/1.0/NT5/EN-US/pvkimprt.exe
注意:下载之后的pvkimprt.exe是个压缩文件!需要我们双击解压得到pvkimprt.exe才是我们想要的!运行解压得到的pvkimprt.exe,会提示安装,安装成功后就可正常使用命令了。

证书导出工具用于将.spc和.pvk文件导出为pfx证书文件。
导出时,会提示创建证书的密码
输入正确的密码后,出现导出向导界面,点击下一步,选择“是,导出密钥”,然后点击下一步,
出现证书类型选择界面,选择“个人信息交换 - PKCS #12(.PFX)(P)”(只有这一种可选,并且其下面的选项均不选择),再点击下一步,
出现私钥保护密码选项,输入密码,然后点击下一步,在文本框中输入要生成的文件名(一般与证书名称一致,最后得到的文件名后缀是.pvk),点击下一步
显示完成窗口,并显示导出证书的信息。

命令:
pvkimprt -pfx IvanSetupKey.spc IvanSetupKey.pvk

 

第五步,收工阶段,把签名添加到项目中

在项目属性中,选择“签名”选项卡
点击“从文件选择”,然后选择生成的.pfx文件
选择了.pfx文件后,会提使输入私钥保护密码,输入正确的私钥保护密码后,即可添加到项目中。
现在再看证书的有效期,是不是延长到2100年了\(^o^)/~

 

补充:

我在导入证书之后,在浏览器打开程序,点击安装OOB模式时,会弹出黄色警报提示。好吧,继续解决此问题~紧接上面的步骤,打开项目属性里的签名之后,选择“更多详细信息”,选择“常规”->“安装证书”,在下一步中,选择”将所有的证书放入下列存储“,并浏览选择受信任的机构,按“确定”、“确定”。Ok!

 

本文参考自Muse的文章:http://www.cnblogs.com/yuxs/archive/2009/06/08/1498592.html

转载于:https://www.cnblogs.com/szkk/articles/3643811.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值