最近计划写个工具需要用到认证方面知识,今天下午对此整理了一下,并画出我的理解图。分享出来,供大家指教:
来个详细点得:
另外,关于生成证书测试用的可以使用makecert。正式商业通途就要去分析OpenSSL了。makecert学习足够了,这里还是抄一段网上对此的介绍:
Makecert是一种证书创建工具,仅用于测试目的的 X.509 证书。此工具将密钥对与指定发行者的名称相关联,并创建一个 X.509 证书,该证书将用户指定的名称绑定到密钥对的公共部分。
主要参数:
-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 提供程序类型。