X509证书创建工具:Makecert.exe

计算机上已安装Visual Studio。

参考微软官方文档  【Markcert.exe】

https://docs.microsoft.com/zh-cn/previous-versions/dotnet/netframework-4.0/bfsktky3(v=vs.100)

证书创建工具

开始-->所有程序--->Visual Studio 2017-->Visual Studio Tools--->Vs 2017的开发人员命令提示符

输入命令:

makecert -?

如图:

makecert 命令:

makecert [options] outputCertificateFile
表 1

参数

说明

outputCertificateFile

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

基本选项

基本选项

选项

说明

-n name

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

-pe

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

-sk 键名

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

-sr 位置

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

-ss 存储

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

-# 数字

指定从 1 到 2,147,483,647 的序列号。 默认值是由 Makecert.exe 生成的唯一值。

-$ authority

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

-?

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

-!

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

扩展选项

扩展选项

选项

说明

-a 算法

指定签名算法。 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 提供程序

指定颁发者的 CryptoAPI 提供程序名称。 关于 CryptoAPI 提供程序名称的信息,请参见 –sp。

-ir location

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

-is store

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

-iv pvkFile

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

-iy 类型

指定颁发者的 CryptoAPI 提供程序类型。 关于 CryptoAPI 提供程序类型的信息,请参见 –sy 选项。

-l link

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

-len 数字

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

-m number

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

-nscp

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

-r

创建自签署证书。

-sc 文件

指定主题的证书文件。

-sky keytype

指定主题密钥类型,必须是下列之一:signature(其中指出密钥用于数字签名),exchange(其中指出密钥用于密钥加密和密钥交换),或一个整数,表示提供程序类型。 默认情况下,可传入1 表示交换密钥,或2 表示签名密钥。

-sp 提供程序

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

输入 命令:【使用主题的密钥容器和证书主题的 X.500 名称创建一个测试证书,并将其写入 writeName.cer。】

makecert -sk KeyName -n "CN=SubjectName" writeName.cer

如果命令操作成功,将弹出 Succeeded

将在指定目录下 找到该文件 writeName.cer

文件路径:C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\writeName.cer

查看该证书信息:

在控制台程序中 输入下面几行代码:

//using System.Security.Cryptography.X509Certificates;

string fileName = @"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\writeName.cer";
            X509Certificate certificateTest = new X509Certificate2(fileName);
            //以文本格式显示509证书信息
            Console.WriteLine(certificateTest);

运行效果:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

斯内科

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值