问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用makecert生成数字证书!

发布网友 发布时间:2022-04-24 20:33

我来回答

2个回答

热心网友 时间:2023-10-10 01:55

证书创建工具 (Makecert.exe)
.NET Framework 2.0
其他版本

24(共 31)对本文的评价是有帮助 - 评价此主题

证书创建工具生成仅用于测试目的的 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(对于商业软件发行者使用的证书)或 indivial(对于个人软件发行者使用的证书)。

-?

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

-!

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

扩展选项

选项
说明

-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

请参见

参考
.NET Framework 工具
发行者证书测试工具 (Cert2spc.exe)
SDK 命令提示

热心网友 时间:2023-10-10 01:55

使用 Makecert.exe 创建自签名证书

1. 在主服务器上,本地复制 Makecert.exe 实用工具。
2. 通过从提升的命令提示符运行以下命令来创建自签名测试根颁发机构证书:
makecert -pe -n "CN=PrimaryTestRootCA" -ss root -srLocalMachine -sky signature -r "PrimaryTestRootCA.cer"
3. 通过从提升的命令提示符运行以下命令来创建测试根颁发机构证书签名的一个新证书,
提供主服务器的 FQDN:
makecert -pe -n "CN=<FQDN>" -ss my -srLocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in "PrimaryTestRootCA" -is root -irLocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 PrimaryTestCert.cer 4. 在副本服务器上,本地复制 Makecert.exe 实用工具。
5. 通过从提升的命令提示符运行以下命令来创建自签名测试根颁发机构证书:
makecert -pe -n "CN=PrimaryTestRootCA" -ss root -srLocalMachine -sky signature -r "ReplicaTestRootCA.cer"
6. 通过从提升的命令提示符运行以下命令来创建测试根颁发机构证书签名的一个新证书,
提供副本服务器的 FQDN:
makecert -pe -n "CN=<FQDN>" -ss my -srLocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in "ReplicaTestRootCA" -is root -irLocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 PrimaryTestCert.cer 7. 将文件 ReplicaTestRootCA.cer 从副本服务器复制到主服务器,然后使用以下命令将其
导入:
certutil -addstore -f Root "ReplicaTestRootCA.cer"
8. 将文件 PrimaryTestRootCA.cer 从主服务器复制到副本服务器,然后使用以下命令将其
导入:
certutil -addstore -f Root "PrimaryTestRootCA.cer"
9. 默认情况下,需要进行证书吊销检查;不过自签名证书不支持吊销检查。使用以下命令
编辑主服务器和副本服务器上的注册表即可禁用检查: reg add "HKLM\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Virtualization\FailoverReplication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f
Primary: Hyper-V-Server(10.10.10.160 hyper-v-server.sipi.com.cn) Replica: Hyper-V-Backup(10.10.10.170 hyper-v-backup.sipi.com.cn)
makecert -pe -n "CN=PrimaryHyperVRootCA" -ss root -srLocalMachine -sky signature -r "PrimaryHyperVRootCA.cer"
makecert -pe -n "CN=<Hyper-V-Server>" -ss my -srLocalMachine -sky exchange -eku
1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in "PrimaryHyperVRootCA" -is root -irLocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 PrimaryHyperVCert.cer
certutil -addstore -f Root "ReplicaHyperVRootCA.cer"
makecert -pe -n "CN=ReplicaHyperVRootCA" -ss root -srLocalMachine -sky signature -r "ReplicaHyperVRootCA.cer"
makecert -pe -n "CN=<Hyper-V-Backup>" -ss my -srLocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in "ReplicaHyperVRootCA" -is root -irLocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 ReplicaHyperVCert.cer
certutil -addstore -f Root "PrimaryHyperVRootCA.cer"
reg add "HKLM\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Virtualization\FailoverReplication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f

来源 百度文库
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
植树节时某班平均每人植树6棵,如果只由女同学种每人种15棵如果由男生... 用朋友写一句排比句(要把朋友比做四种东西) 植树节时,某班平均每人植树6棵。如果只由女生完成,每人应植树15棵... 植树节时,某班平均每人植树6棵,如果只让女生完成,每人应植15棵,如果... 我的苹果手机,开屏有时候点击屏幕没反应,要锁屏再来才可以。我换过屏 ... ...没信号的时候我发了一条短信给Ta,等到Ta的手机有信号了能收到么... 植树节时,某班平均每人植树6棵,如果只由女同学完成,那么每人植树15棵... 自由可投代表什么 ...如果只由女同学完成,每人应植树15株;如果只由男同学完成,每人植树... 自由可投是什么意思?? 申报*时没有插金税盘,会有什么后果,申报结束后再插金税盘就显示密钥不存在了,怎么解决? 新升级的*开票软件,打开后出现“证书接口调用失败”,税控盘是亮绿灯的,软件进不去,如何解决? 金税宝事件代码36密匙容器不存在是什么意思 登录金税盘时显示:证书接口调用失败 事件代码36 事件描述:证书接口调用失败 证书接口返回 证书接口返回错误信息密钥容器不存在 开票软件证书密钥容器不存在是怎么回事? 税控发票开票软件(金税盘版)显示证书接口调用:密钥容器不存在 三星平板电脑下载了视频驱动就可以微信视频了吗 win10 重启后 桌面文件大部分不见了 微信里美拍怎么下载 win10重启桌面图标不见了怎么办 手机微信视频不能播放了 win10电脑开机图标不见了,怎么回事? 你好我下载一个微信视频小助手,现在进不去了,上面写着加入白名单什么意思? 百度下载的微信视频小助手交了费怎么打不开? 微信的多个小视频可以做成一个视频么 一加8手机相机美颜怎么打开? 如何下载微信中的视频? 小学教研活动包括哪些内容 小学教师作文研讨主题活动有哪些 金税盘错误代码255是什么 知道RAS的公钥,如何通过程序加密一个字符串呀? 私钥在别人手上,不用我解密。使用软件VS2005&#47;CBuilder 什么是密钥容器 win7系统 ie9登录民生银行网银,提示-517获取密钥容器句柄失败,试过用IE8,不行。以管理员身份运行也不行 平板支撑会减胸吗?女生做适合吗? 平板支撑动作很难吗?女生能不能做这个动作? 新股上市破发率高是什么原因 百度文库财富值怎么兑换下载券 新股上市破发 关于下载百度文库中一些需要 vip/下载券 的问题 百度文库财富值怎么换下载券? 百度文库没有下载券怎么办? 百度文库要下载券怎么办? 需要一些百度文库下载券? 英雄联盟蓝色精粹能买吗 百度文库下载券怎么获得(不花钱的方法) 百度文库下载券赠送有没有啊? 百度文库下载券过期咋办? 百度文库会员送的下载券一张可以下几个文档? 百度文库怎样用财富值兑换下载券?