C#程序证书创建工具 (Makecert.exe)
原文地址: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 |
指定颁发者的密钥类型,必须是 signature、exchange 或一个表示提供程序类型的整数。默认情况下,可传入 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 |
指定主题的密钥类型,必须是 signature、exchange 或一个表示提供程序类型的整数。默认情况下,可传入 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)的更多相关文章
- Makecert.exe(证书创建工具)
Makecert.exe(证书创建工具) .NET Framework 4.5 其他版本 2(共 3)对本文的评价是有帮助 - 评价此主题 证书创建工具生成仅用于测试目的的 X.509 证 ...
- Windows应用程序快捷方式创建工具
说明 在windows中经常用到将程序添加到桌面或者是开始菜单,乘着休息时间就做了这么一个快捷的工具. 程序展示: 用法 1. 命令行(CMD命令窗口) 命令: C:\Users\Administra ...
- 用makecert.exe生成一个自签名的证书
makecert.exe不用去找,安装VS2008后,在开始菜单相应的路径找到该命令提示符:Microsoft Visual Studio 2008/Visual Studio Tools/Visua ...
- WCF证书创建方法
A.创建证书: (1)将创建证书工具makecert.exe放到任意地方.可以把该文档中的makecert.exe工具复制粘贴到任意目录. (2)doc命令去到makecert.exe的路径,然后输入 ...
- 使用makecert.exe创建数字证书
RT makecert.exe不用去找,安装VS2008后,在开始菜单相应的路径找到该命令提示符:Microsoft Visual Studio 2008/Visual Studio Tools/Vi ...
- 安装程序工具 (Installutil.exe)22
网址:https://msdn.microsoft.com/zh-cn/library/50614e95(VS.80).aspx 安装程序工具 (Installutil.exe) .NET Fram ...
- 安装程序工具 (Installutil.exe)
网址:https://msdn.microsoft.com/zh-cn/library/50614e95(VS.80).aspx 安装程序工具 (Installutil.exe) .NET Fram ...
- 用微软makecert.exe生成一个自签名的证书
RT makecert.exe不用去找,安装VS2008后,在开始菜单相应的路径找到该命令提示符:Microsoft Visual Studio 2008/Visual Studio Tools/Vi ...
- IIS7 全新管理工具AppCmd.exe的命令使用实例分享
IIS 7 提供了一个新的命令行工具 Appcmd.exe,可以使用该工具来配置和查询 Web 服务器上的对象,并以文本或 XML 格式返回输出. 下面是一些可以使用 Appcmd.exe 完成的任务 ...
随机推荐
- 很有用的mobile web application远程调试工具 weinre
在移动web应用中,因为没有类似chrome和firebug的调试工具,调试起来比在PC上相对麻烦一些,有时候仅仅能重复进行改动比对,但使用weinre我们能够轻松做到远程调试的功能. 什么是wein ...
- codeforces 551 C GukiZ hates Boxes
--睡太晚了. ..脑子就傻了-- 这个题想的时候并没有想到该这样-- 题意大概是有n堆箱子从左往右依次排列,每堆ai个箱子,有m个人,最開始都站在第一个箱子的左边, 每个人在每一秒钟都必须做出两种选 ...
- JavaScript 之 动态加载JS代码或JS文件
2.动态加载JS文件 <script type="text/javascript"> function loadScript(url, callback) { var ...
- Linux中使用GoAccess进行日志实时监控
一.用法命令: goaccess access_log -o /var/www/html/report.html --real-time-html 说明:请先安装Httpd和Goaccess 二.效果 ...
- tornado输出json
只需要输出一个dict就自动会变成json http://www.tornadoweb.org/en/stable/web.html#tornado.web.RequestHandler.write
- Keepalived系列一:安装Keepalived
1:简介 它是一个基于VRRP协议来实现的WEB服务高可用方案,可以利用其来避免单点故障.一个WEB服务至少会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(B ...
- MyBatis Spring SqlSessionFactoryBean 配置
在基本的 MyBatis 中,session 工厂可以使用 SqlSessionFactoryBuilder 来创建.而在 MyBatis-Spring 中,则使用 SqlSessionFactory ...
- UVA 10733 - The Colored Cubes(Ploya)
UVA 10733 - The Colored Cubes 题目链接 题意:一个立方体.n种颜色,问能涂成多少不同立方体 思路:Ploya求解,正方体相应24种不同旋转一一计算出循环个数就可以.和 U ...
- 深入理解JVM(三)——垃圾收集策略具体解释
Java虚拟机的内存模型分为五个部分.各自是:程序计数器.Java虚拟机栈.本地方法栈.堆.方法区. 这五个区域既然是存储空间,那么为了避免Java虚拟机在执行期间内存存满的情况,就必须得有一个垃圾收 ...
- 9、redis之事务2-Jedis的八种调用方式(事务、管道、分布式)介绍
1.普通同步 @Test public void test1Normal() { Jedis jedis = new Jedis("localhost"); long start ...
警告