• 互联网公钥基础设施

    • 基于可信的第三方机构(CA,certification authority)实现不同成员在不见面的情况下进行安全通信
    • 订阅人
      • 需要证书来提供安全服务的团体
    • 登记机构(RA)
      • 完成证书签发的相关管理工作,如对用户进行必要的身份认证
    • 证书颁发机构(CA)
      • 确认用户身份后颁发证书
      • 在线提供其所签发证书的最新吊销信息
    • 信赖方
      • 执行证书验证的网页浏览器、其他程序及操作系统
  • 证书
    • 证书是包含公钥、订阅人相关信息以及证书颁发者数字签名的数字文件
    • 抽象语法表示法1(ASN.1)是支持复杂数据结构和对象的定义、传输、交换的一系列规则
    • X.509依赖于唯一编码规则(DER),只允许一种方式编码ASN.1的值
    • PEM是DER使用Base64编码后的ASCII编码格式
    • 证书字段
      • 版本:共3个版本,版本1只支持简单字段、版本2增加了2个标识符、版本3增加了扩展功能
      • 序列号:序列号需要是无序的且至少包括20位的熵
      • 签名算法:证书签名所用的算法
      • 颁发者(issuer):包含颁发者的DN,根据不同的实体会包含其他的部分。
      • 有效期:包含开始时间和结束时间
      • 使用者(suject):使用者的实体DN,和公钥一起用于证书签发,在自签名证书中,使用者和颁发者字段的DN是一样的。如今使用者字段已经废弃转而使用使用者可选名称扩展
      • 公钥:使用者公钥信息
    • 证书扩展:包含唯一的对象标识符(OID)、关键扩展标识器以及ASN.1格式的值
      • 使用者可选名称:支持通过DNS、IP地址、URI来将多个身份绑定在一起
      • 名称约束:可以限制CA签发证书的对象,比如只允许2级CA签发该公司的所拥有域名的证书
      • 基础约束:用来表明证书是否是CA证书,同时通过路径长度(path length)约束字段,限制二级CA证书路径的深度
      • 密钥用法:定义了证书中密钥可用的场景。
      • 扩展密钥用法:为了更加灵活的支持和限制公钥的使用场景
      • 证书策略:包含一个或多个策略每个策略都包含一个OID和可选限定符,其主要作用是表明证书是在何种条款下下发的。
      • CRL分发点:该扩展用于确定证书吊销列表(CRL)的LDAP或HTTP URL地址。每张证书都应该包含CRL和OCSP吊销信息
      • 颁发机构信息访问:表明如何访问签发CA提供的额外信息和服务
      • 使用者密钥标识符:用于识别包含特别公钥的证书
      • 授权密钥标识符:签发此证书的CA的唯一标识符,用于在构建证书链时,找到颁发者的证书
    • 证书链
      • 保证根证书的安全:直接由根证书签发最终实体证书是不允许的
      • 交叉证书:交叉证书是可以让新CA立即投入运营的唯一方式,通过已经广泛内置浏览器的CA对新CA进行签名
      • 划分:CA会将不同的操作分散给很多二级CA,二级CA一般使用自动化签发程序进行签发
      • 委派:CA允许某个外部CA可以给其内部系统进行签名
    • 证书生命周期
      • 证书的生命周期从订阅人将CSR提交给CA的时候就开始了

《HTTPS权威指南》读书笔记——PKI的更多相关文章

  1. HTTP权威指南读书笔记

    HTTP权威指南笔记 读书有两种境界,第一种境界是将书读薄,另一种是读厚.本篇文章就是HTTP权威指南的读书笔记,算是读书的第一重境界,将厚书读薄.文章对HTTP的一些关键概念做了比较详细的概述,通读 ...

  2. css权威指南读书笔记

    今天翻手机,翻到了许久之前看css权威指南时的笔记,遂移到博客中来. 1.属性选择器p.one class名为one的p元素p[class][name] 含有class和name属性的p元素p[cla ...

  3. 经典的性能优化最佳实践 web性能权威指南 读书笔记

    web性能权威指南 page 203 经典的性能优化最佳实践 无论什么网络,也不管所用网络协议是什么版本,所有应用都应该致力于消除或减 少不必要的网络延迟,将需要传输的数据压缩至最少.这两条标准是经典 ...

  4. css权威指南读书笔记-第10章浮动和定位

    这一章看了之后真是豁然开朗,之前虽然写了圣杯布局和双飞翼布局,有些地方也是模糊的,现在打算总结之后再写一遍. 以下都是从<css权威指南>中摘抄的我认为很有用的说明. 浮动元素 一个元素浮 ...

  5. Java性能优化权威指南-读书笔记(一)-操作系统性能监控工具

    一:CPU 1. 用户态CPU是指执行应用程序代码的时间占总CPU时间的百分比. 系统态CPU是指应用执行操作系统调用的时间占总CPU时间的百分比.系统态CPU高意味着共享资源有竞争或者I/O设备之间 ...

  6. Hadoop权威指南读书笔记

    本书中提到的Hadoop项目简述 Common:一组分布式文件系统和通用I/O的组件与接口(序列化.javaRPC和持久化数据结构). Avro:一种支持高效.跨语言的RPC以及永久存储数据的序列化系 ...

  7. Javascript权威指南——读书笔记

    一.JavaScript核心语法 1.字符串中接受RegExp参数的方法 (1)text.search(pattern)返回首次匹配成功的位置 (2)text.match(pattern)返回匹配组成 ...

  8. cassandra权威指南读书笔记--Cassandra架构(1)

    结构 集群-->数据中心-->机架-->节点. cassandra尽可能将数据副本存在多个数据中心,然后读取(查询路由到)尽可能在本地数据中心. 为了去中心化和分区容错性,使用gos ...

  9. JavaScript权威指南读书笔记

    JavaScript 1.变量 变量是一个表示值的符号,是一个名字,他的本质是值: var x; //----声明一个变量: 值通过等号“=”赋给变量,x = 16; 对象是名/值对的集合,或字符串到 ...

  10. Java性能优化权威指南-读书笔记(五)-JVM性能调优-吞吐量

    吞吐量是指,应用程序的TPS: 每秒多少次事务,QPS: 每秒多少次查询等性能指标. 吞吐量调优就是减少垃圾收集器消耗的CPU周期数,从而将更多的CPU周期用于执行应用程序. CMS吞吐调优 CMS包 ...

随机推荐

  1. 摄像头CMOS和CCD的比较

    转载自网络,在此做一下总结,仅供参考: 1.CCD每曝光一次,在快门关闭后进行像素转移处理,将每一行中每一个像素(pixel)的电荷信号依序传入“缓冲器”中,由底端的线路引导输出至 CCD 旁的放大器 ...

  2. ARTS-S 在docker中运行本地脚本

    很多情况是本地没有编译环境,但docker中有编译环境.想编译本地代码,就要把本地的代码和编译脚本映射到docker中,脚本如下: docker run \ -it \ -v /Users/usern ...

  3. 从零开始入门 K8s | etcd 性能优化实践

    作者 | 陈星宇(宇慕)  阿里云基础技术中台技术专家 本文整理自<CNCF x Alibaba 云原生技术公开课>第 17 讲. 导读:etcd 是容器云平台用于存储关键元信息的组件.阿 ...

  4. screen虚拟终端工具

    说明:有时候我们要执行一个命令或脚本,需要几小时甚至几天,但是不能中断,有时想查看当前输出信息的时候,可以将它丢到后台运行,但是后台运行却无法显示或输出相关信息出来:我们可以使用一个虚拟终端工具scr ...

  5. 使用CleanWebpackPlugin插件报错原因:CleanWebpackPlugin is not a constructor

    // webpack版本:4.32.2 // 抛错原写法 const CleanWebpackPlugin = require("clean-webpack-plugin"); . ...

  6. Oracle数据库备份/导出(exp/expd)、导入(imp/impd)

    ​ 常用的oracle数据库备份(导入/导出)有两种,分别是exp/imp和expd/impd,前者是Orace早期版本带有的导入导出工具,后者是Oracle10g后出现的,下面进行分别介绍! 1.e ...

  7. 你不知道的JavaScript(上)this和对象原型(一)

    第一章  关于this 1.this 既不指向函数自身也不指向函数的词法作用域 2.this 实际上是在函数被调用时发生的绑定,它指向什么完全取决于函数在哪里被调用(调用位置). 第二章 this全面 ...

  8. C#使用WebClient时,如果状态码不为200时,如何获取请求返回的内容

    目录 一.事故现场 二.解决方法 一.事故现场 使用WebClient发送请求,如果返回的状态码不是2xx或3xx,那么默认情况下会抛出异常, 那如何才能获取到请求返回的内容呢? 二.解决方法 可以通 ...

  9. Git之将master合并到自己分支

    工作中常常需要将master合并到自己的分支,这次就记录一下这个过程. 1.切换到master主分支上 git checkout master 2.将master更新的代码pull到本地 git pu ...

  10. Android 插件化开发(三):资源插件化

    在前面的文章中我们成功的加载了外部的Dex(Apk)并执行了插件的Bean代码.这时我们会想,能不能加载并运行插件Apk的Activity.答案当然是能,否则后续我们的研究就没意义了,但是想实现Act ...