换个角度看X.509证书

初识X.509证书,多半是HTTPS协议,SSL或TLS握手阶段,需要用证书传输公钥,建立加密的传输信道。于是在印象中X.509就和HTTPS绑定在了一起。这种绑定有些许先入为主。实际上X.509证书的用途不止如此。

现成的知识

网上已经很多写得好的文章,推荐一篇:X.509数字证书的基本原理及应用。从中我们可以总结出几个要点

  • 数字证书的目的在于安全地分发公钥
  • 数字证书 = 公钥 + 公钥所属实体 + 签名
  • 数字证书分多级,一般有根证书、中间证书、叶子证书,根证书安装在系统中,叶子证书和中间证书需要根证书进行验证

除此之外,没有更多的理论信息。博客的输出往往只是作者知识学习过程的输出,常很片面,仅能作为知识交流和了解的方式,不能作为严肃学习的主要来源(包括我这篇)。优秀如此文,看完也还是虚空之感,因为我们不知道还有多少相关知识是不知道的。

原材料

学习X.509的误区之一,是将它与HTTPS、TLS等协议结合在一起,然后被这些协议的其它知识点搞得头昏目眩。就像JWT,如果只是和登录鉴权结合在一起,就会忽略它本身的特性。

我们往往对一个技术的支撑技术缺乏了解,甚至缺乏了解的耐心。

最好的方式还是阅读RFC,相关文档如下

  • RFC5280:主协议,描述X.509用途、结构、验证方式等
  • RFC2560:OCSP协议,在线证书状态协议,描述如何实时获取证书的状态,即有效性
  • RFC4491RFC3279RFC4055:附加协议,描述了在证书中使用的加密算法

其中,RFC5280需要认真阅读,其它协议选读,了解即可。

RFC5280

基础

  • 证书是什么

    全面地说应该叫做公钥证书,它是一种数据结构,用来绑定公钥值,该绑定加上了CA签名让它变得可信。CA通过技术手段使得这种可信变得有保证。一般来说,这种技术手段是操作系统内置根证书+证书的路径验证。

  • 用途

    • 网站通信,即常规的HTTPS

    • 电子邮件

    • 用户鉴权,可参考JWS的x5c字段

    • IPsec

  • 证书生命周期

    证书的证书的生命周期,是根据它的签名内容而定的,即证书并不是永久的。因为证书可能被仿冒。

    现在很多以年为单位,这可能只是业务上的生命周期,并不一定是技术上的生命周期,理论上说这有一定的安全隐患。

  • 证书path

    用户拿到证书,如果不拥有颁发该证书的CA的可信的公钥,此时需要另一个证书来获取该CA的可信公钥。这样可以形成一个证书链,这叫做证书路径。

  • 证书分类

    • CA证书

      • 交叉证书:签发方和证书主体来自不同的实体。用于描述两个CA的互信关系
      • 自签发证书:签发方和证书主体是同一个实体
      • 自签名证书:属于自签发证书的一种,它的签名可以用证书自带的公钥验证。这个用在证书路径的根部,即根证书
    • 终端实体证书

      颁发给无权颁发证书的实体

  • 证书撤回

    签发的证书在实际有效期前可以被撤销,是通过Certificate Revoke List的方式ÿ

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值