How to create related certificate

结合网上找的文章,研究了下开发给的命令,尝试创建证书。

First of all, you'd better install Windows SDK on your own PC. 

                 

1. Create the root certificate(For example, "AOCA.cer" in UK environment)

Run below command in Windows SDK, you may define the name of certificate whatever you like.

makecert -n “CN=Dev/Testing CA Certificate” -a sha512 -cy authority -r -sv CA.pvk CA.cer

 

2.Create certificate for the Config Server.

makecert -n “CN=myhost.mydomain.local” -cy end -a sha512 -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -iv CA.pvk -ic CA.cer -pe -sv myhost.pvk myhost.cer

 

3. Convert .cer to .spc for the Config Server's certificate

 cert2spc hjbox140.beta.sys1forest1.com.cer hjbox140.beta.sys1forest1.com.spc

 

4. Output .pfx from .spc and .pvk for the Config Server's certificate

Run the command and finish the wizard. Select "Yes, export the private key"-> Personal Information Exchange -PKCS # 12(.PFX)-> Set a password -> Save the .pfx file

pvkimprt -pfx hjbox140.beta.sys1forest1.com.spc hjbox140.beta.sys1forest1.com.pvk

 

Finally, you may get the certificates which we want. Maybe you just need to create certificates for different Config Servers every time.

另外附一个创建pfx证书的方法:

打开Microsoft .NET Framework 的SDK命令提示,按以下步骤操作: 

(所有的工具可在C:\Program Files\Microsoft 
SDKs\Windows\v6.0A\bin\中找到)

------ 第一步 创建 X.509 证书 ------
makecert.exe为证书创建工具。
证书创建工具生成仅用于测试目的的 
X.509 证书。它创建用于数字签名的公钥和私钥对,并将其存储在证书文件中。
此工具还将密钥对与指定发行者的名称相关联,并创建一个 X.509 
证书,该证书将用户指定的名称绑定到密钥对的公共部分。
创建证书时会提示要求证书的私钥密码(Subject 
Key,两个密码输入框),并会在生成cer文件是再次要求输入密码(一个输入框)
参考:http://msdn.microsoft.com/zh-cn/library/bfsktky3(VS.80).aspx
命令行为:
"C:\Program 
Files\Microsoft SDKs\Windows\v6.0A\bin\makecert.exe" -r -n "CN=xxxx软件有限公司" -b 
01/01/2009 -e 12/31/2019 -sv CbipSetupKey.pvk CbipSetupKey.cer

------ 第二步 创建发行者证书 ------
cert2spc.exe发行者证书测试工具
发行者证书测试工具通过一个或多个 X.509 
证书创建发行者证书 (SPC)。Cert2spc.exe 仅用于测试目的。可以从证书颁发机构(如 VeriSign 或 Thawte)获得有效的 
SPC。
参考:http://msdn.microsoft.com/zh-cn/library/f657tk8f(VS.80).aspx
生成发行者证书时,不要求输入私钥密码
命令行为:
"C:\Program 
Files\Microsoft SDKs\Windows\v6.0A\bin\cert2spc.exe" CbipSetupKey.cer 
CbipSetupKey.spc


------ 第三步 导出证书文件------
pvkimprt.exe是证书导出工具。需要从微软网站下载:http://download.microsoft.com/download/vba50/Utility/1.0/NT5/EN-US/pvkimprt.exe
证书导出工具用于将.spc和.pvk文件导出为pfx证书文件。
导出时,会提示创建证书的密码
输入正确的密码后,出现导出向导界面,点击下一步,选择“是,导出密钥”,然后点击下一步,
出现证书类型选择界面,选择“个人信息交换 
- PKCS 
#12(.PFX)(P)”(只有这一种可选,并且其下面的选项均不选择),再点击下一步,
出现私钥保护密码选项,输入密码,然后点击下一步,在文本框中输入要生成的文件名(一般与证书名称一致),点击下一步
显示完成窗口,并显示导出证书的信息。
pvkimprt 
-pfx CbipSetupKey.spc CbipSetupKey.pvk

------ 第四步 
添加到项目中------
在项目属性中,选择“签名”选项卡
勾选“为ClickOnce清单签名”,点击“从文件选择”,然后选择生成的.pfx文件(如果项目中已经存在同名文件,则需要先删除)
选择了.pfx文件后,会提使输入私钥保护密码,输入正确的私钥保护密码后,即可添加到项目中。
需要注意的是证书的有效期,证书有起止有效期,当超出有效期时,将被视为无效证书,无法签名。

用pvkimprt导出pfx证书时,一直弹出对话框提示:Command line option syntax error. Type Command /? for Help.

 用google找了半天终于找到问题所在:

从微软网站(http://download.microsoft.com/download/vba50/Utility/1.0/NT5/EN-US /pvkimprt.exe)下载的那个pvkimprt.exe是个压缩文件,解压后的文件一个Pvkimprt.exe和一个文本文件,这个 Pvkimprt.exe文件是个安装文件!必须安装后产生的Pvkimprt.exe才是我们需要的命令文件!微软害人不浅啊,O(∩_∩)O哈哈~ 希望像下面的英文作者一样能帮助遇到同样问题的中文开发者。

解决方法原为出处:http://www.jobsforcooks.com/subwordpress/tobyallen/?p=6

 

生成cer和pfx证书的文章链接:http://www.cnblogs.com/yuxs/archive/2009/06/08/1498592.html

posted @ 2014-01-22 17:40  三炮压死石头人  阅读(477)  评论(0)    收藏  举报