Makecert.exe(证书创建工具) Makecert.exe(证书创建工具)

Makecert.exe(证书创建工具)
Makecert.exe(证书创建工具)

.NET Framework 4.5
 
其他版本
 
评价此主题
 

此工具还将密钥对与指定发行者的名称相关联,并创建一个 X.509 证书,该证书将用户指定的名称绑定到密钥对的公共部分。

Makecert.exe(证书创建工具)
Makecert.exe(证书创建工具) 说明

有关 X.509 证书的概述,请参阅 使用证书

扩展选项提供更多的灵活性。

关于如何在密钥容器中存储私钥的更多信息,请参见 如何:将非对称密钥存储在密钥容器中

Makecert.exe(证书创建工具)
Makecert.exe(证书创建工具) 警告

应使用证书存储区来安全地存储证书。此工具使用的 .snk 文件以不受保护的方式存储私钥。创建或导入 .snk 文件时,在使用期间应注意保证其安全,并在使用后将其移除。

有关详细信息,请参阅 Visual Studio 和 Windows SDK 命令提示

  • Visual Studio Command Prompt

    - 或 -

    CMD Shell)。

  • 在命令提示处,键入下列命令:

 
 
makecert [options] outputCertificateFile
 

参数

描述

outputCertificateFile

测试 X.509 证书要写入的 .cer 文件的名称。

 

选项

描述

name

-pe

将所生成的私钥标记为可导出。这样可将私钥包括在证书中。

keyname

如果密钥容器不存在,系统将创建一个。

location

localmachine

store

指定主题的证书存储名称,输出证书即存储在那里。

有关在本地系统发现的可显示所有标准证书存储区名称的示例,请参阅 X509Store.Name 属性。

number

默认值是由 Makecert.exe 生成的唯一值。

authority

individual(对于个人软件发行者使用的证书)。

-?

显示此工具的命令语法和基本选项列表。

-!

显示此工具的命令语法和扩展选项列表。

 

选项

描述

algorithm

sha512

mm/dd/yyyy

当前日期的默认值。

-crl

生成证书重定位列表 (CRL) 而不是证书。

certType

authority (对于证书颁发机构)。

mm/dd/yyyy

默认为 12/31/2039 11:59:59 GMT。

oid…]

将用逗号分隔的增强型密钥用法对象标识符 (OID) 列表插入到证书中。

number

指定此证书下面的树的最大高度。

file

指定颁发者的证书文件。

keyName

指定颁发者的密钥容器名称。

keytype

2 表示签名密钥。

name

指定颁发者的证书公用名称。

provider

-sp

location

localmachine

store

指定颁发者的证书存储名称。

pvkFile

指定颁发者的 .pvk 私钥文件。

type

-sy 选项。

l link

到策略信息的链接(例如,一个 URL)。

number

指定生成的密钥长度(以位为单位)。

number

以月为单位指定证书有效期的持续时间。

-nscp

包括 Netscape 客户端身份验证扩展。

-r

创建自签署证书。

-sc  文件

指定主题的证书文件。

keytype

2 表示签名密钥。

provider

Type 值。

pvkFile

如果该文件不存在,系统将创建一个。

type

Name 值。

-tbs

指定需签名的证书或 CRL 文件。

示例
 

testCert.cer

 
 
makecert testCert.cer

下面的命令创建了一个由默认测试根颁发的证书并将其保存到证书存储区。

 
 
makecert -ss testCertStore

currentuser 存储区。

 
 
makecert -ss testCertStore -sr currentuser

textXYZ.cer

 
 
makecert -sk XYZ -n "CN=XYZ Company" testXYZ.cer 

下面的命令创建了一个由默认测试根颁发的证书和一个 .pvk 文件,并将此证书同时输出到存储区和该文件。

 
 
makecert -sv testCert.pvk -ss testCertStore testCert.cer

下面的命令创建了一个由默认测试根颁发的证书和一个密钥容器,并将此证书同时输出到存储区和该文件。

 
 
makecert -sk myTestKey -ss testCertStore testCert.cer

my 存储区,指定并交换密钥,并且使私钥可导出。

 
 
makecert -r -pe -n "CN=XYZ Company" -b 01/01/2005 -e 01/01/2010 -sky exchange -ss my

证书专用密钥可用导出,证书有效期从 2010 年 5 月 10 日至 2011 年 12 月 22 日。

 
 
Makecert -r -pe -n CN="www.example.com" -b 05/10/2010 -e 12/22/2011 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12

第二个命令使用新创建的证书创建了另一个证书,并将第二个证书保存到另一个存储区。

 
 
makecert -sk myTestKey -ss testCertStore
makecert -is testCertStore -ss anotherTestStore

my 存储区中存在多个证书,所以第二个命令使用公用名称来标识第一个证书。

 
 
makecert -sk myTestKey -n "CN=XXZZYY" -ss my
makecert -is my -in "XXZZYY" -ss anotherTestStore

my 存储区中存在多个证书,所以第二个命令使用证书文件名来唯一标识第一个证书。

 
 
makecert -sk myTestKey -n "CN=XXZZYY" -ss my testCert.cer
makecert -is my -ic testCert.cer -ss anotherTestStore




地址:http://msdn.microsoft.com/zh-cn/library/bfsktky3.aspx