Makecert.exe(证书创建工具)
Makecert.exe(证书创建工具)
证书创建工具生成仅用于测试目的的 X.509 证书。 它创建用于数字签名的公钥和私钥对,并将其存储在证书文件中。 此工具还将密钥对与指定发行者的名称相关联,并创建一个 X.509 证书,该证书将用户指定的名称绑定到密钥对的公共部分。
说明 |
|---|
|
有关 X.509 证书的概述,请参阅 使用证书。 |
Makecert.exe 包含基本选项和扩展选项。 基本选项是最常用于创建证书的选项。 扩展选项提供更多的灵活性。
一定不要将此工具生成的证书私钥存储在 .snk 文件中。 如果需要存储私钥,则应使用密钥容器。 关于如何在密钥容器中存储私钥的更多信息,请参见 如何:将非对称密钥存储在密钥容器中。
警告 |
|---|
|
应使用证书存储区来安全地存储证书。此工具使用的 .snk 文件以不受保护的方式存储私钥。创建或导入 .snk 文件时,在使用期间应注意保证其安全,并在使用后将其移除。 |
安装 Visual Studio 和 Windows SDK 时会自动安装此工具。 要运行工具,我们建议您使用 Visual Studio 命令提示符或 Windows SDK 命令提示符(也称 CMD Shell)。 您可以使用这些实用程序轻松运行工具,而不需要导航到安装文件夹。 有关详细信息,请参阅 Visual Studio 和 Windows SDK 命令提示。
如果您的计算机上已安装了 Visual Studio:在任务栏上依次单击 Start、All Programs、Visual Studio、Visual Studio Tools、Visual Studio Command Prompt。
- 或 -
如果您的计算机上已安装了 Windows SDK:在任务栏上依次单击 Start、All Programs、Windows SDK 文件夹和 Command Prompt(或CMD Shell)。
在命令提示处,键入下列命令:
makecert [options] outputCertificateFile
|
参数 |
描述 |
|---|---|
|
outputCertificateFile |
测试 X.509 证书要写入的 .cer 文件的名称。 |
|
选项 |
描述 |
|---|---|
|
-n name |
指定主题的证书名称。 此名称必须符合 X.500 标准。 最简单的方法是在双引号中指定此名称,并加上前缀 CN=;例如,-n "CN=myName"。 |
|
-pe |
将所生成的私钥标记为可导出。这样可将私钥包括在证书中。 |
|
-sk keyname |
指定主题的密钥容器位置,该位置包含私钥。 如果密钥容器不存在,系统将创建一个。 |
|
-sr location |
指定主题的证书存储位置。 location 可以为 currentuser(默认)或 localmachine。 |
|
-ss store |
指定主题的证书存储名称,输出证书即存储在那里。 有关在本地系统发现的可显示所有标准证书存储区名称的示例,请参阅 X509Store.Name 属性。 |
|
-# number |
指定从 1 到 2,147,483,647 的序列号。 默认值是由 Makecert.exe 生成的唯一值。 |
|
-$ authority |
指定证书的签名权限,必须设置为 commercial (对于商业软件发行者使用的证书)或 individual(对于个人软件发行者使用的证书)。 |
|
-? |
显示此工具的命令语法和基本选项列表。 |
|
-! |
显示此工具的命令语法和扩展选项列表。 |
|
选项 |
描述 |
|---|---|
|
-a algorithm |
指定签名算法。 algorithm 必须是 md5、sha1(默认值)、sha256、sha384 或 sha512。 |
|
-b mm/dd/yyyy |
指定有效期的开始时间。 当前日期的默认值。 |
|
-crl |
生成证书重定位列表 (CRL) 而不是证书。 |
|
-cy certType |
指定证书类型。 有效值是 end(对于最终实体)和 authority (对于证书颁发机构)。 |
|
-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 提供程序名称。 关于 CryptoAPI 提供程序名称的信息,请参见 -sp。 |
|
-ir location |
指定颁发者的证书存储区的位置。location 可以是 currentuser(默认)或 localmachine。 |
|
-is store |
指定颁发者的证书存储名称。 |
|
-iv pvkFile |
指定颁发者的 .pvk 私钥文件。 |
|
-iy type |
指定颁发者的 CryptoAPI 提供程序类型。 关于 CryptoAPI 提供程序类型的信息,请参见 -sy 选项。 |
|
-l link |
到策略信息的链接(例如,一个 URL)。 |
|
-len number |
指定生成的密钥长度(以位为单位)。 |
|
-m number |
以月为单位指定证书有效期的持续时间。 |
|
-nscp |
包括 Netscape 客户端身份验证扩展。 |
|
-r |
创建自签署证书。 |
|
-sc 文件 |
指定主题的证书文件。 |
|
-sky keytype |
指定主题密钥类型,必须是下列之一:signature(其中指出密钥用于数字签名),exchange(其中指出密钥用于密钥加密和密钥交换),或一个整数,表示提供程序类型。默认情况下,可传入1 表示交换密钥,或2 表示签名密钥。 |
|
-sp provider |
指定主题的 CryptoAPI 提供程序名称,该名称必须在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider 的注册表子项中已有定义。 如果 -sp 和 -sy 都出现, CryptoAPI 提供程序的类型应对应于提供程序的子项的 Type 值。 |
|
-sv pvkFile |
指定主题的 .pvk 私钥文件。 如果该文件不存在,系统将创建一个。 |
|
-sy type |
指定主题的 CryptoAPI 提供程序类型,该类型必须在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider 的注册表子项中已有定义。 如果 -sy 和 -sp 都出现, CryptoAPI 提供程序的类型应对应于提供程序的子项的 Name 值。 |
|
-tbs |
指定需签名的证书或 CRL 文件。 |
下面的命令创建了一个由默认测试根颁发的测试证书并将其写入 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
以下命令创建自签名证书,该证书可以用于测试 web 应用程序,这个程序使用的是 URL 为 www.example.com web 的网络服务器上的“安全套接字层”(SSL)。 由 -eku 选项定义的 OID 标识该证书作为 SSL 服务器证书。 证书存储在 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 存储区。 第二个命令使用新创建的证书创建了另一个证书。 因为 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.aspx
Makecert.exe(证书创建工具)的更多相关文章
- C#程序证书创建工具 (Makecert.exe)
原文地址:https://msdn.microsoft.com/zh-cn/library/bfsktky3(VS.80).aspx 证书创建工具生成仅用于测试目的的 X.509 证书.它创建用于数字 ...
- 用makecert.exe生成一个自签名的证书
makecert.exe不用去找,安装VS2008后,在开始菜单相应的路径找到该命令提示符:Microsoft Visual Studio 2008/Visual Studio Tools/Visua ...
- 使用makecert.exe创建数字证书
RT makecert.exe不用去找,安装VS2008后,在开始菜单相应的路径找到该命令提示符:Microsoft Visual Studio 2008/Visual Studio Tools/Vi ...
- 用微软makecert.exe生成一个自签名的证书
RT makecert.exe不用去找,安装VS2008后,在开始菜单相应的路径找到该命令提示符:Microsoft Visual Studio 2008/Visual Studio Tools/Vi ...
- WCF证书创建方法
A.创建证书: (1)将创建证书工具makecert.exe放到任意地方.可以把该文档中的makecert.exe工具复制粘贴到任意目录. (2)doc命令去到makecert.exe的路径,然后输入 ...
- SignTool.exe(签名工具)
水漂收集 -- SignTool.exe(签名工具) =============C#.Net 篇目录============== 签名工具是一个命令行工具,用于用证书对文件进行数字签名,验证文件和时间 ...
- Windows应用程序快捷方式创建工具
说明 在windows中经常用到将程序添加到桌面或者是开始菜单,乘着休息时间就做了这么一个快捷的工具. 程序展示: 用法 1. 命令行(CMD命令窗口) 命令: C:\Users\Administra ...
- SSL证书在线工具
证书在线工具 如果您是第一次申请SSL证书,如果您对您的服务器如何使用SSL证书还不熟悉的话,我们推荐您使用本套工具,本套工具支持所有SSL服务器证书格式和各种WEB服务器.帮助您在线生成CSR文件, ...
- 自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名【转】
自签名的证书无法被吊销,CA签名的证书可以被吊销 能不能吊销证书的区别在于,如果你的私钥被黑客获取,如果证书不能被吊销,则黑客可以伪装成你与用户进行通信 如果你的规划需要创建多个证书,那么使用私有 ...
随机推荐
- 字符串str功能介绍
1.name.__contains__ 包含 name1='eric'result = name.__contains__(er) #name是否包含er,包含返回true,不包含返回fals p ...
- —linux 磁盘配额按用户管理(quota)
我根据下面的ref链接整理的基本是的按用户额度管理步骤 (按组的额度管理被简化掉) 我在Ubuntu服务器12.04下整理,其他版本的Ubuntu和Linux应该都没有问题的 (有任何错误都指正给我, ...
- js 更改head的title
使用document.title = "hello"; 不能使用 $("title").text("dd");或者 $ ...
- 如何实现能像windows 窗体一样改变大小的控件 Silverlight
众所周知,我们可以将鼠标放在windows窗体的边框上,按住鼠标左键改变窗体大小.那么,在silverlight上如何实现呢? 1. 需要将改控件放置在canvas上. 2. 判断鼠标位置,然后将Ar ...
- asdsa
ML_运营一部数据平台应用服务组 <ML_1731@pingan.com.cn> epcischagentdailyreportkb copy from OLAPSEL/frt9iora@ ...
- web.py+mysql插入中文提示query = query.encode(charset) UnicodeEncodeError: 'latin-1' codec can't encode characters in position 86-100
对于中文编码的问题,总会出现各种各样恶心的错误,还不知道应该怎么解决,首先,你从最开头就应该关注编码问题,尽量保证所有的编码方式都是一致的 用python+web.py+mysql来写程序,首先要保证 ...
- DataGridView的DataGridViewComboBoxColumn列在编辑时自动弹出下拉列表
在DataGridView的CellEnter的事件中添加如下代码即可: if (e.ColumnIndex == dataGridView1.Columns["仓库名"].Ind ...
- ASP.NET ZERO 学习 JTable的ChildTable用法
效果图: Jtable的子表用法: _$masterTable.jtable({ title: app.localize('PharmacyInventory'), openChildAsAccord ...
- mac--有用的命令和快捷键
有用的命令: 将man命令打开为pdf文件预览 man -t grep | open -f -a Preview 定位某文件的位置 locate htop 隐藏和显示桌面文件 chflags hidd ...
- C# 代码页获取input的值
<input id="aa" name="iaa" type="text" /> Label1.Text = Request.F ...
说明