原文地址:https://msdn.microsoft.com/zh-cn/library/bfsktky3(VS.80).aspx

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

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

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

警告

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

 
 
makecert [options] outputCertificateFile
参数 说明

outputCertificateFile

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

选项 说明

-n x509name

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

-pe

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

-sk keyname

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

-sr location

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

-ss store

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

-# number

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

-$ authority

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

-?

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

-!

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

选项 说明

-a algorithm

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

-b mm/dd/yyyy

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

-cy certType

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

-d name

显示主题的名称。

-e mm/dd/yyyy

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

-eku oid[,oid]

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

-h number

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

-ic file

指定颁发者的证书文件。

-ik keyName

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

-iky keytype

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

-in name

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

-ip provider

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

-ir location

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

-is store

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

-iv pvkFile

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

-iy pvkFile

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

-l link

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

-m number

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

-nscp

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

-r

创建自签署证书。

-sc file

指定主题的证书文件。

-sky keytype

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

-sp provider

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

-sv pvkFile

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

-sy type

指定主题的 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

C#程序证书创建工具 (Makecert.exe)的更多相关文章

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

    Makecert.exe(证书创建工具) .NET Framework 4.5   其他版本   2(共 3)对本文的评价是有帮助 - 评价此主题   证书创建工具生成仅用于测试目的的 X.509 证 ...

  2. Windows应用程序快捷方式创建工具

    说明 在windows中经常用到将程序添加到桌面或者是开始菜单,乘着休息时间就做了这么一个快捷的工具. 程序展示: 用法 1. 命令行(CMD命令窗口) 命令: C:\Users\Administra ...

  3. 用makecert.exe生成一个自签名的证书

    makecert.exe不用去找,安装VS2008后,在开始菜单相应的路径找到该命令提示符:Microsoft Visual Studio 2008/Visual Studio Tools/Visua ...

  4. WCF证书创建方法

    A.创建证书: (1)将创建证书工具makecert.exe放到任意地方.可以把该文档中的makecert.exe工具复制粘贴到任意目录. (2)doc命令去到makecert.exe的路径,然后输入 ...

  5. 使用makecert.exe创建数字证书

    RT makecert.exe不用去找,安装VS2008后,在开始菜单相应的路径找到该命令提示符:Microsoft Visual Studio 2008/Visual Studio Tools/Vi ...

  6. 安装程序工具 (Installutil.exe)22

    网址:https://msdn.microsoft.com/zh-cn/library/50614e95(VS.80).aspx  安装程序工具 (Installutil.exe) .NET Fram ...

  7. 安装程序工具 (Installutil.exe)

    网址:https://msdn.microsoft.com/zh-cn/library/50614e95(VS.80).aspx  安装程序工具 (Installutil.exe) .NET Fram ...

  8. 用微软makecert.exe生成一个自签名的证书

    RT makecert.exe不用去找,安装VS2008后,在开始菜单相应的路径找到该命令提示符:Microsoft Visual Studio 2008/Visual Studio Tools/Vi ...

  9. IIS7 全新管理工具AppCmd.exe的命令使用实例分享

    IIS 7 提供了一个新的命令行工具 Appcmd.exe,可以使用该工具来配置和查询 Web 服务器上的对象,并以文本或 XML 格式返回输出. 下面是一些可以使用 Appcmd.exe 完成的任务 ...

随机推荐

  1. Extend一个web application没有反应怎么办?

      通过SharePoint管理中心Extend一个web application的时候, 点完确定按钮后,没有反应,怎么回事? [解决方法] 多等一会,不要连续点. 等待的过程中看看iis, 过一会 ...

  2. "Value does not fall within the expected range" with managed metadata fields

      From: http://geekswithblogs.net/claraoscura/archive/2011/01/21/143569.aspx The problem: I have an ...

  3. 抽屉柜式MCC柜中PROFIBUS设备推荐波特率及相应传输距离

    抽屉柜式MCC柜中PROFIBUS设备推荐波特率及相应传输距离.例如以下图所看到的: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L ...

  4. Springmvc 服务器端文件下载

    转自:http://blog.csdn.net/boneix/article/details/51303280 业务场景:点击下载后直接保存而不是打开 解决代码:前端传入url /** * 返回流 * ...

  5. Redis 实现队列http://igeekbar.com/igeekbar/post/436.htm

    场景说明: ·用于处理比较耗时的请求,例如批量发送邮件,如果直接在网页触发执行发送,程序会出现超时 ·高并发场景,当某个时刻请求瞬间增加时,可以把请求写入到队列,后台在去处理这些请求 ·抢购场景,先入 ...

  6. javascript设计思维

    //一.把参数当作私有变量使用 (function (a, b) { //把参数当作私有变量使用,省略了var,也节省了行数 console.log(b) //undefined,所有未赋值的变量均为 ...

  7. miniOrm

    PetaPoco.Core https://www.nuget.org/packages/PetaPoco.Core/5.1.228

  8. PSQL命令小结

    经常使用psql查询数据,现在总结几个常用的命令参数,供以后参考 -h   数据库地址 -U   数据库用户名 -t   不打印字段等信息 -c   执行的SQL语句 -s   单步执行,就是执行的时 ...

  9. filter中的DelegatingFilterProxy使用事例

    最近发现在filter内使用DelegatingFilterProxy过滤内容,那么为什么不用自带的Filter而使用Spring的DelegatingFilterProxy哪?最后才明白是因为fil ...

  10. 持续集成篇_08_Hudson持续集成服务器的使用(自动化编译、分析、打包、部署)

    持续集成篇_08_Hudson持续集成服务器的使用(自动化编译.分析.打包.部署) 1.创建任务 svn用户验证 验证通过 *****五颗*表示每分钟检查svn路径是否有变更,有变更就会重新构建,相当 ...