简单证书颁发机构及证书路径与存储管理
1. 编写简单的证书颁发机构
在证书管理中,利用认证请求和现有的根证书来生成新证书,这是证书颁发机构(CA)最基本的操作。当创建一个带有可由另一个证书验证的签名的证书时,会在这两个证书之间建立一种关系,通常用证书路径或证书链来表示。在 Java 里,证书路径可简单看作一个证书数组,数组的第一个证书是终端实体证书,其签名可由数组中的下一个证书验证,数组的最后一个是根证书,通常是自签名的,需要信任接受。
在 X.509 标准下,确定哪个证书签署了哪个证书有以下步骤:
- 若一个证书能验证另一个证书,那么这个证书的主题应与被验证证书的颁发者相同。
- 由于任何证书的主题是另一个证书的颁发者,第一个证书的密钥应能验证第二个证书的签名。
为了更方便地处理无序的证书集合以确定证书顺序,X.509 版本 3 提供了两个扩展:AuthorityKeyIdentifier 和 SubjectKeyIdentifier。
1.1 AuthorityKeyIdentifier 扩展
其 OID 和值定义如下:
id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 35 }
AuthorityKeyIdentifier ::= SEQUENCE {
keyIdentifier [0] KeyIdentifier OPTIONAL,
authorityCertIssuer [1] GeneralNames OPT
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



