不同证书格式转换指南

在使用signcode进行代码签名的过程中我们知道单证书(.pfx)的签名过程要比双证书(.pvk和.spc)的简单,所以我们就需要把双证书文件转换成单证书文件;而有的朋友可能需要使用命令行方式来实现签名,就需要把单证书文件转换成双证书文件,下边我们就来看看怎么实现不同证书格式的转换方法。

一、从.pvk和.spc格式转换成.pfx格式

1. 下载微软的转换工具软件:pvkimprt.rar,并成功安装;

2. 请确认您电脑上已经安装了颁发代码签名证书的中级根证书。

3. 在DOS状态下,进入保存两个签名证书文件mycert.pvk和mycert.spc的目录,请键入命令:

pvkimprt mycert.spc mykey.pvk

按提示输入私钥密码后,启动证书导入过程,按几个回车就成功把证书导入到Windows证书存储区,在IE浏览器的 "工具" — " Internet 选项" — "内容" — "证书" — "个人"中就能看到您的签名证书,再点击"导出"就可以得到包含有签名证书公钥和私钥的.pfx格式证书。

请注意:在导出时要选中"如果可能,将所有证书包括到证书路径中",并建议选中"如果导出成功删除密钥"以防止被他人非法导出。如果还需要导入使用,则再导入即可,此时导入的缺省是"不允许导出私钥",从而保证了签名证书的安全。

请注意: pvkimprt工具不支持跨操作系统,也就是说,如果您是在Windows 2000操作系统上生成的私钥文件.pvk的,则只能在Windows 2000 操作系统中使用pvkimprt工具。

您也可以利用此工具来修改签名证书私钥文件.pvk的密码,只需要从.pfx格式证书文件中分离出私钥文件.pvk和公钥文件.spc,请参考如下转换指南。

二、从.pfx格式转换成.pvk和.spc格式

1. 需要使用OpenSSL来实现格式转换,如果没有OpenSSL,则需要下载和安装一个OpenSSL Win32包;

2. 从PFX格式文件中提取私钥中间格式文件(.key) ,假设OpenSSL的安装目录为:c:\program file\GnuWin32, PFX 格式文件目录: c:\cert\mycert.pfx ,在 DOS 状态下键入:

cd\Program Files\GnuWin32\bin

openssl pkcs12 -in mycert.pfx -nocerts -nodes -out mycert.key

会提示输入.pfx证书文件的密码,就是您从IE导出PFX备份文件时设置的密码,输入密码后会提示"MAC verified OK",表示提取成功。

3. 使用pvk.exe来把.key格式文件转换成.pvk格式,下载pvk.exe到c:\cert目录,在 DOS 状态下键入:

pvk -in mycert.key -topvk -out mycert.pvk

会提示输入密码,和再次输入密码就完成转换。

4. 准备好颁发代码签名证书的中级根证书并导出您的代码签名证书的公钥mycert.cer,导出时选择Base64编码格式。

5. 使用签名工具包中的cert2spc.exe生成软件发行证书.spc格式文件,在DOS状态下键入:

cert2spc WoSignCodeSigning.cer mycert.cer mycert.spc

会提示Success ,表示SPC文件生成成功。

这样就成功从mycert.pfx中得到了mycert.pvk和mycert.spc文件,实现了从.pfx格式证书文到.pvk和.spc格式证书文件的转换。

三、软件下载

1. pvkimprt下载:http://www.wotrust.com/download/pvkimprt.rar
2. OpenSSL下载:http://www.wotrust.com/download/openssl-0.9.7c-bin.rar
3. pvk.exe下载:http://www.wotrust.com/download/pvk.zip
4. cert2spc.exe下载:http://www.wotrust.com/download/signtool.rar

上一篇: 用C#编写ActiveX控件
下一篇: 软件代码签名证书有什么用
文章来自: WoSign
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 8190
发表评论
登录后再发表评论!