【学习笔记】SSL证书之X.509 v3扩展文件

前文《SSL证书里包含的具体信息》最后提到X.509 v3扩展,本篇将作详细解释。

证书扩展存在于X.509 v3版本的SSL证书中,它为证书添加功能和限制提供了可选字段。

有许多扩展文件,本篇将阐述9个最常用的扩展。

  • Key Usage
  • Extended Key Usage
  • Basic Constraints
  • Name Constraints
  • Subject Key Identifier
  • Authority Key Identifier
  • Subject Alternative Name
  • CRL Distribution Point
  • Authority Information Access
    • Issuer's Certificate
    • OCSP Location

1、Key Usage和Extended Key Usage

两者为证书的密钥(公钥与私钥)设定了用途和限制,

在用途上例如:

  • 你是否能用这些Key来加密数据
  • 创建对称密钥
  • 能否用这些Key来给证书进行签名
  • 能否用这些Key来验证签名
  • 能否用这些Key来验证CRL(Certificate Revocation List)签名

在限制上例如:

  • Key Usage通常被他的用途所限制,比如以上5种用途;
  • Extended Key Usage设置了基于协议(Protocol)和角色(Role)的限制,比如能否用这些Key设置IP、能否将这些Key用于email、能否将这些Key用于SSL服务器/客户端

那么,为什么要对密钥进行限制呢?

因为,在有这些限制之前,任何证书可以用在任何地方,这意味着证书一旦泄露,这张证书的密钥就可以用于任何地方,这会导致非常多的故障域名。所以,有了这些限制,一旦证书泄露了,只会在一定的用途和角色上产生故障。(限制了影响面)

2、Basic Constraints

决定了Subject是否是CA还是End-Entity(最终实体,比如freessl.cn,etc),即谁能颁发证书

需要注意的是,CA证书可以给其他证书进行颁发,而End-Entity则不能(比我给freessl.cn申请了一张证书,但这张证书不能给其他网站进行证书颁发)。

3、Name Constraints

名称约束限制了对特定域名的签名,特别是用在企业内部审查(CA)。

假设现在有家公司叫Acme, Inc,它设置了自己的内部审查(CA),那么它将能够为子域名acme.com创建证书,因为它确实拥有这个子域名;但这个CA不能给其他诸如paypal.com、x.com签发证书(这些域名不受它所控)。

4、Subject Key Identifier和Authority Key Identifier

两者是公钥的唯一标识,

Subject Key Identifier用来通过证书追溯密钥,例如证书过期,这时我们需要重新申请一张证书,新的证书会有新的序列号,但续订证书不需要重新创建新的私钥(实际操作中,我们续订一张证书只要用原来的CSR文件,就不需要新的私钥)。

Authority Key Identifier用来识别特定的证书使用哪个特定的密钥来签署的。例如,CA有许多密钥对,CA 在颁发证书时会轮换其密钥,所以我们会拥有一家CA用不同Key签发的不同证书。

我们注意到第二张图所示的Subject Key Identifier和Authority Key Identifier的值是相同的,这是因为这是一张CA自签发的证书(Self-Signed Certificate)

5、Subject Alternative Name(主体替代名称)

  • 允许一张证书保护多个域名。
    • 以往提到浏览器会将CN(Common Name)与地址栏中的地址进行比对,一张证书对应一个CN。
    • 通配符证书(Wildcard Certificate)允许单个域名有多个子域名
    • S.A.N允许一张证书去保护多个域名

    上图所示子域名都有live.com所保护(live.com是微软的,hotmail也是微软的),这就是S.A.N的作用,保护多个域名

6、CRL Distribution Point(CRL分发点)

CRL = Certificate Revocational List,证书撤销列表

  • 它是一张列表,上面记录了特定CA所有撤销的证书
  • 由CA进行维护

CRL Distribution Point提供URL去访问这个特定的列表

关于CRL的详细内容将在后续篇章进行介绍

7、Authority Information Access

  • 提供CA的信息
  • Issuer's Certificate -- 提供下载颁发证书的链接
  • OCSP Location -- OCSP响应的标识
    • OCSP即Online Certificate Status Protocol,在线证书状态协议
    • 对于检查证书撤销是一个更有效的方式

关于OCSP的详细内容也将在后续篇章进行介绍

我们遇到的大部分证书会包含以上大部分内容,当然也会有其他内容,后续将会进行阐述。

参考文献

1、网站:Practical Networking.net: Practical TLS

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值