证书创建工具 (Makecert.exe)

摘要:
证书创建工具生成仅用于测试目的的X.509证书。Makecert.exe包含基本选项和扩展选项。默认值是由Makecert.exe生成的唯一值。makecerttestCert.cer下面的命令创建了一个由默认测试根颁发的证书并将其保存到证书存储区。makecert-sstestCertStore-srcurrentuser下面的命令使用主题的密钥容器和证书主题的X.500名称创建一个测试证书,并将其写入textXYZ.cer。第二个命令使用新创建的testCert.cer证书创建了另一个证书。

证书创建工具生成仅用于测试目的的 X.509 证书。它创建用于数字签名的公钥和私钥对,并将其存储在证书文件中。此工具还将密钥对与指定发行者的名称相关联,并创建一个 X.509 证书,该证书将用户指定的名称绑定到密钥对的公共部分。

Makecert.exe 包含基本选项和扩展选项。基本选项是最常用于创建证书的选项。扩展选项提供更多的灵活性。

一定不要将此工具生成的证书私钥存储在 .snk 文件中。如果需要存储私钥,则应使用密钥容器。有关如何在密钥容器中存储私钥的更多信息,请参见如何:将非对称密钥存储在密钥容器中

Caution note警告

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

makecert [options] outputCertificateFile
参数说明

outputCertificateFile

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

选项说明

-nx509name

指定主题的证书名称。此名称必须符合 X.500 标准。最简单的方法是在双引号中指定此名称,并加上前缀CN=;例如,"CN=myName"。

-pe

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

-skkeyname

指定主题的密钥容器位置,该位置包含私钥。如果密钥容器不存在,系统将创建一个。

-srlocation

指定主题的证书存储位置。Location可以是currentuser(默认值)或localmachine

-ssstore

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

-#number

指定一个介于 1 和 2,147,483,647 之间的序列号。默认值是由 Makecert.exe 生成的唯一值。

-$authority

指定证书的签名权限,必须设置为commercial(对于商业软件发行者使用的证书)或individual(对于个人软件发行者使用的证书)。

-?

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

-!

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

选项说明

-aalgorithm

指定签名算法。必须是md5(默认值)或sha1

-bmm/dd/yyyy

指定有效期的开始时间。默认为证书的创建日期。

-cycertType

指定证书类型。有效值是end(对于最终实体)和authority(对于证书颁发机构)。

-dname

显示主题的名称。

-emm/dd/yyyy

指定有效期的结束时间。默认为 12/31/2039 11:59:59 GMT。

-ekuoid[,oid]

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

-hnumber

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

-icfile

指定颁发者的证书文件。

-ikkeyName

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

-ikykeytype

指定颁发者的密钥类型,必须是signatureexchange或一个表示提供程序类型的整数。默认情况下,可传入1表示交换密钥,传入2表示签名密钥。

-inname

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

-ipprovider

指定颁发者的 CryptoAPI 提供程序名称。

-irlocation

指定颁发者的证书存储位置。Location可以是currentuser(默认值)或localmachine

-isstore

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

-ivpvkFile

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

-iypvkFile

指定颁发者的 CryptoAPI 提供程序类型。

-llink

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

-mnumber

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

-nscp

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

-r

创建自签署证书。

-scfile

指定主题的证书文件。

-skykeytype

指定主题的密钥类型,必须是signatureexchange或一个表示提供程序类型的整数。默认情况下,可传入1表示交换密钥,传入2表示签名密钥。

-spprovider

指定主题的 CryptoAPI 提供程序名称。

-svpvkFile

指定主题的 .pvk 私钥文件。如果该文件不存在,系统将创建一个。

-sytype

指定主题的 CryptoAPI 提供程序类型。

下面的命令创建了一个由默认测试根颁发的测试证书并将其写入testCert.cer

makecert testCert.cer

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

makecert -ss testCertStore

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

makecert -ss testCertStore -sr currentuser

下面的命令使用主题的密钥容器和证书主题的 X.500 名称创建一个测试证书,并将其写入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

下面的命令创建一个自我签署的证书,指定使用者名称为“CN=XYZ Company”,指定有效期的起始和结束时间,将密钥放入my存储区,指定并交换密钥,并且使私钥可导出。

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

下面的命令创建了一些证书并将它们保存到存储区。第一个命令使用默认测试根创建了一个证书并将其保存到存储区。第二个命令使用新创建的证书创建了另一个证书,并将第二个证书保存到另一个存储区。

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

下面的命令创建了一些证书并将它们保存到存储区。第一个命令将证书保存到my存储区。第二个命令使用新创建的证书创建了另一个证书。因为my存储区中存在多个证书,所以第二个命令使用公用名称来标识第一个证书。

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

下面的命令创建了一些证书并将它们保存到文件和存储区。第一个命令使用默认测试根创建了一个证书并将其保存到my存储区和一个文件。第二个命令使用新创建的testCert.cer证书创建了另一个证书。因为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(d=printer,v=VS.80).aspx

免责声明:文章转载自《证书创建工具 (Makecert.exe)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android下pm命令详解/etc/sysconfig/iptables 详解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Asp.Net开源服务端框架,WebApi后端框架(C#.NET)

本文主要介绍了基于Asp.Net平台、C#语言+SQL数据库的服务器的WebApi后端框架。K=WebApi&c=1&p=1.NETWebApi开发框架|MVC框架|后端框架|服务器框架-标准版本V1.0适用开发:快速构建支持多个客户端的服务器程序,并支持APP、B/S、c/S跨平台移动终端等。C/S系统开发框架的高级版本或更高版本支持多种后...

Element plus的tree组件实现单选和搜索功能

--elementplus树组件实现单选及搜索功能--˃Elementplus树组件实现单选及搜索功能获取选中的节点//给节点添加classconstcustomNodeClass==˃{if{return'no-checkbox-node';}returnnull;};exportdefault{name:'tree-radio',data(){retur...

C#Win32API编程之PostMessage

本文以C#调用Win32API函数PostMessage完成指定表单的后台鼠标和键盘模拟为例,大致解释了C#调用非托管代码和Window的消息处理机制。我们可以将PostMessage用于函数。成功与否在很大程度上取决于我们传达的信息是否真实。消息表明消息是什么。请原谅我先讲故事。我希望先解释一下PostMessage函数。这是一个异步操作,如下图所示:调用...

SqlServer数据库存入decimal类型数据注意事项

对于sqlserver,Decimal可用于存储具有小数点和固定值的值。与浮点和实数不同,十进制用于存储近似值。目的是满足精确数学运算的需要。它是最大和最精确的浮点数字类型。对于十进制类型,请注意必须指定精度;否则,十进制只能存储为整数,就像int一样。例如,十进制是存储长度为18位和小数点后2位的数据。...

vant上传文件到后端

Html代码<Ts代码文件列表=[]/image/[a-zA-z]+/。test(file.file.type)){this.$toast(“请上传图片”);returnfalse;config).then(res=>})。捕获(()=>拒绝)=>ts=“+newDate().getTime()).然后...

ArchLinux安装英伟达显卡驱动

Optimus manager qt Install novausudopacman-Sxf86-video novau右键单击导航栏上的Intel图标,选择列表中的设置功能,单击左侧的Optimus,然后在右侧窗口中选择nouveau作为切换方法。右键单击导航栏上的Intel图标以选择要使用的图形卡类型。在我选择Nvidia显卡后,您需要注销并再次登录才能...