在windows中对数字证书进行管理

本文详细介绍在Windows中查看、删除、安装数字证书的方法,并提供使用makecert工具自制数字证书的步骤,适用于HTTPS配置及测试需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1) 查看、删除、安装 数字证书

我们在上一章中说到了,我们的操作系统中会预先安装好一些证书发布机构的证书,我们看下在windows中如何找到这些证书,步骤如下:

1)开始菜单->运行,输入mmc,回车

2)在打开的窗口中选择 File-> Add/Remove Snap-in…

3)然后在弹出的对话框的 Standalone Tab页里面点击 Add… 按钮

4)在弹出的对对话框中选择 certificates 后点击 Add 按钮

具体的步骤如下图所示:

 

上面的步骤结束后,会又弹出一个对话框,里面有三个单选按钮如下:

  • My user account
  • Service account
  • Computer account

可以选择第一或者第三个选项,用来查看当前用户的证书或整个计算里面安装的证书。我们这里就默认选择第一个,平时一般安装证书的时候都会给所有用户安装,所以选择第一个和第三个选项看到的证书会差不多。我们在左边的导航树中选中受信任的证书发布机构(Trusted Root Certificate Authorities),然后点击下面的证书(Certificates),在右边的区域中就可以看到所有的受信任的证书发布机构的证书。

trustedcaAuth

注意上面的图片中,右边我们选中的这个证书发布机构"SecureTrust CA",我们前面在第3章3.2节中举例子的时候,就是去向这个证书发布机构申请的证书,由于我们申请的证书是这个机构发布的,所以应用程序在检查我们的证书的发布机构时(会检查我们证书的签名,确认是该机构发布的证书),就会发现是可以信任的证书发布机构,从而就会相信我们证书的真实性。

删除数字证书很简单,直接在右边的列表中右键然后删除就可以了。

数字证书的安装也比较简单,直接双击数字证书文件,会打开数字证书,对话框下面会有一个Install Certificate按钮,点击后就可以根据向导进行安装,如下图所示:

installCertificate

这个证书是我自己生成的测试证书,在证书的导入向导里面,它会让你选择导入到什么位置,如果是一个我们自己信任的证书发布机构自己的证书,只要导入到Certificate Authorities就可以了。Trusted Root Certificate Authorities, Intermediate Certification Authorities, Third-Party Root Certification Authorities 都是可以的,他们只是对证书的发布机构做了一个分类,还有一些其它的证书类型,例如Personal(个人证书)等等,具体就不介绍了。安装的时候一般来说可以用默认的选择项一直"下一步"到底。

 

2) 如何自己创建证书

每个证书发布机构都有自己的用来创建证书的工具,当然,具体他们怎么去创建一个证书的我也不太清楚,不同类型的证书都有一定的格式和规范,我没有仔细去研究过这部分内容。 微软为我们提供了一个用来创建证书的工具makecert.exe,在安装Visual Studio的时候会安装上。如果没有安装也无所谓,可以上网去下一个,搜索makecert就可以了。可以直接从我的博客下载,这是链接

向一些正规的证书发布机构申请证书一般是要收费的(因为别人要花时间检查你的身份,确认有没有同名的证书等等),这里我们看下如何自己创建一个证书,为后面在IIS中配置Https做准备。

我们用到的是makecert这个工具,微软有很详细的使用帮助,我这里只做一个简单的解释,详细的各种参数和使用方法请查看MSDN的makecert的帮助。但是里面有些参数说得不够清楚,而且还有遗漏的,可以参看我后面的解释作为一个补充。

 

先看下makecert最简单的使用方式:

makecert.exe test.cer

上面的命令会在makecert.exe所在的目录生成一个证书文件test.cer的数字证书文件。可以双击证书打开,看看证书的内容如下:

testCertificate1

证书的发布机构是"Root Agency",证书的主题(证书发布给谁)是"Joe’s-Software-Emporium",因为我们没有指定把证书发布给谁,makecert自己给我们随便生成了一个公司的名字。另外还指定了公钥、签名算法(用来解密签名)、指纹和指纹算法等。

注意,因为这个证书是由微软的工具生成的,严格来说它没什么发布机构,所以微软虚拟了一个叫做"Root Agency"的发布机构,默认情况下,windows里面安装了这个所谓的证书发布机构的证书,但是这证书默认情况下不是受信任的,原因很简单,这样做大家都可以用makecert来制作合法的数字证书了。如果我们自己硬是要,也可以把它设置为受信任的。

 

下面我们看下其它的参数,比如我们要给网站 www.jefferysun.com 生成一个证书MyCA.cer,假设我们把makecert.exe放在C:盘下,命令行如下:

makecert -r -pe -n "CN=10.30.146.206" -b 01/01/2000 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12

C:\> makecert.exe –pe -r  –n  "CN=www.jefferysun.com" -ss my -sr LocalMachine -a sha1 -len 2048  MyCA.cer

解释一下makecert的常用参数的意思:

  • -n 指定主题的名字,这个是有固定的格式的, CN=主题名字 ,CN应该是Certificate Name的缩写。我这里的主题的名字就是我们的IIS所在机器的IP。这里可以指定一些主题的其它附加信息,例如 O= *** 表示组织信息等等。
  • -r 创建自签署证书,意思就是说在生成证书时,将证书的发布机构设置为自己。
  • -pe 将所生成的私钥标记为可导出。注意,服务器发送证书给客户端的时候,客户端只能从证书里面获取公钥,私钥是无法获取的。如果我们指定了这个参数,证书在安装在机器上后,我们还可以从证书中导出私钥,默认情况下是不能导出私钥的。正规的途径发布的证书,是不可能让你导出私钥的。
  • -b –e 证书的有效期
  • -ss 证书的存储名称,就是windows证书存储区的目录名,如果不存在在的话就创建一个。
  • -sr 证书的存储位置,只有currentuser(默认值)或 localmachine两个值。
  • -sv 指定保存私钥的文件,文件里面除了包含私钥外,其实也包含了证书。这个文件是需要保密的,这个文件在服务端配置时是需要用到的。
  • 这个CN=10.30.146.206要与自己的服务器相对应,要不然在配置HTTPS的时候会出现错误
  • -a 指定签名算法,必须是md5或rsa1。(还记得签名算法的作用不?可以看一下3章的第1节中关于签名算法的介绍)
  • -in 指定证书发布机构的名称
  • -len 这个参数在中文的帮助文档中好像没有提到,但是这个其实很重要,用于指定公钥的位数,越大越安全,默认值是1024,推荐2048。我试了下,这个不为1024的倍数也是可以的。
数字证书管理工具V2.0-使用java图形化编写,安装版直接安装使用(由于上传大小的限制,本版本为不带jre版,使用前请确保环境中已经安装过jdk) 数字证书管理工具V2.0: 包括三个视图,分别是:密钥库列表、证书库列表、证书管理维护界面;其中密钥库列表用于显示默认密钥库中的所有条目;证书库列表用于显示默认证书库中的所有数字证书证书管理维护界面分为左右两部分,左半部分可以显示条目或者数字证书的详细信息,右半部分可以用于新建条目或者数字证书。另外,还可以对外部密钥库或者证书进行操作(V2.0新增功能)。 以下是三个视图的具体功能: =================================== 密钥库列表视图功能 1.双击条目可以在证书管理维护界面左半部分显示此条目的具体信息; 2.右击条目出现上下文操作菜单; 3.刷新条目; 4.清除屏幕; 5.查看证书; 6.签发证书; 7.修改口令; 8.生成证书; 9.导出证书; 10.删除条目; 11.导出对应密钥库; 12.导出p12个人证书; =================================== 证书库列表视图功能 1.双击证书可以在证书管理维护界面左半部分显示此证书的具体信息; 2.右击证书出现上下文操作菜单; 3.刷新证书; 4.清除屏幕; 5.查看证书; 6.公钥验证; 7.导入证书; 8.导出证书; 9.删除证书; =================================== 证书管理维护界面视图功能 1.数字证书显示界面:显示数字证书的详细信息,包括:证书信息、颁发给、颁发者、有效期、版本号、序列号、签名算法、有效期起始日期、有效期终止日期、主题、公钥、签名; 2.数字证书管理界面:新建条目或者数字证书,可输入条目或者数字证书具体的信息,包括CN(名字与姓氏)、OU(组织单位名称)、O(组织名称)、L(城市名称)、ST(省份名称)、C(国家代码)、Alia(别名)、KeyAlg(加密算法)、Validity(有效期)、生成类型; =================================== 对外部密钥库或者证书进行的操作有: 1.打开外部数字证书,查看证书详情; 2.查看外部密钥库中的所有条目,可以对其中的条目进行查看信息、生成证书、导出证书、修改口令、删除条目等操作; 3.将已签名的数字证书导入到密钥库中 ============================================================================ ==================================================================================================================================================================================================================================== 数字证书管理工具V1.0,广西大学计算机与电子信息学院 数字证书管理工具V1.0: 包括三个视图,分别是:密钥库列表、证书库列表、证书管理维护界面;其中密钥库列表用于显示默认密钥库中的所有条目;证书库列表用于显示默认证书库中的所有数字证书证书管理维护界面分为左右两部分,左半部分可以显示条目或者数字证书的详细信息,右半部分可以用于新建条目或者数字证书。 以下是三个视图的具体功能: =================================== 密钥库列表视图功能 1.双击条目可以在证书管理维护界面左半部分显示此条目的具体信息; 2.右击条目出现上下文操作菜单; 3.刷新条目; 4.清除屏幕; 5.查看证书; 6.签发证书; 7.修改口令; 8.生成证书; 9.导出证书; 10.删除条目; =================================== 证书库列表视图功能 1.双击证书可以在证书管理维护界面左半部分显示此证书的具体信息; 2.右击证书出现上下文操作菜单; 3.刷新证书; 4.清除屏幕; 5.查看证书; 6.公钥验证; 7.导入证书; 8.导出证书; 9.删除证书; =================================== 证书管理维护界面视图功能 1.数字证书显示界面:显示数字证书的详细信息,包括:证书信息、颁发给、颁发者、有效期、版本号、序列号、签名算法、有效期起始日期、有效期终止日期、主题、公钥、签名; 2.数字证书管理界面:新建条目或者数字证书,可输入条目或者数字证书具体的信息,包括CN(名字与姓氏)、OU(组织单位名称)、O(组织名称)、L(城市名称)、ST(省份名称)、C(国家代码)、Alia(别名)、KeyAlg(加密算法)、Validity(有效期)、生成类型; (由于上传大小的限制,本版本为不带jre版,使用前请确保环境中已经安装过jdk)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值