《HTTPS权威指南》读书笔记——PKI
- 互联网公钥基础设施
- 基于可信的第三方机构(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的更多相关文章
- HTTP权威指南读书笔记
HTTP权威指南笔记 读书有两种境界,第一种境界是将书读薄,另一种是读厚.本篇文章就是HTTP权威指南的读书笔记,算是读书的第一重境界,将厚书读薄.文章对HTTP的一些关键概念做了比较详细的概述,通读 ...
- css权威指南读书笔记
今天翻手机,翻到了许久之前看css权威指南时的笔记,遂移到博客中来. 1.属性选择器p.one class名为one的p元素p[class][name] 含有class和name属性的p元素p[cla ...
- 经典的性能优化最佳实践 web性能权威指南 读书笔记
web性能权威指南 page 203 经典的性能优化最佳实践 无论什么网络,也不管所用网络协议是什么版本,所有应用都应该致力于消除或减 少不必要的网络延迟,将需要传输的数据压缩至最少.这两条标准是经典 ...
- css权威指南读书笔记-第10章浮动和定位
这一章看了之后真是豁然开朗,之前虽然写了圣杯布局和双飞翼布局,有些地方也是模糊的,现在打算总结之后再写一遍. 以下都是从<css权威指南>中摘抄的我认为很有用的说明. 浮动元素 一个元素浮 ...
- Java性能优化权威指南-读书笔记(一)-操作系统性能监控工具
一:CPU 1. 用户态CPU是指执行应用程序代码的时间占总CPU时间的百分比. 系统态CPU是指应用执行操作系统调用的时间占总CPU时间的百分比.系统态CPU高意味着共享资源有竞争或者I/O设备之间 ...
- Hadoop权威指南读书笔记
本书中提到的Hadoop项目简述 Common:一组分布式文件系统和通用I/O的组件与接口(序列化.javaRPC和持久化数据结构). Avro:一种支持高效.跨语言的RPC以及永久存储数据的序列化系 ...
- Javascript权威指南——读书笔记
一.JavaScript核心语法 1.字符串中接受RegExp参数的方法 (1)text.search(pattern)返回首次匹配成功的位置 (2)text.match(pattern)返回匹配组成 ...
- cassandra权威指南读书笔记--Cassandra架构(1)
结构 集群-->数据中心-->机架-->节点. cassandra尽可能将数据副本存在多个数据中心,然后读取(查询路由到)尽可能在本地数据中心. 为了去中心化和分区容错性,使用gos ...
- JavaScript权威指南读书笔记
JavaScript 1.变量 变量是一个表示值的符号,是一个名字,他的本质是值: var x; //----声明一个变量: 值通过等号“=”赋给变量,x = 16; 对象是名/值对的集合,或字符串到 ...
- Java性能优化权威指南-读书笔记(五)-JVM性能调优-吞吐量
吞吐量是指,应用程序的TPS: 每秒多少次事务,QPS: 每秒多少次查询等性能指标. 吞吐量调优就是减少垃圾收集器消耗的CPU周期数,从而将更多的CPU周期用于执行应用程序. CMS吞吐调优 CMS包 ...
随机推荐
- CodeForces1006D-Two Strings Swaps
D. Two Strings Swaps time limit per test 2 seconds memory limit per test 256 megabytes input standar ...
- 使用aop切面编写日志模块
我们先自定义一个注解(一个有关自定义注解的LJ文章 https://www.cnblogs.com/guomie/p/10824973.html) /** * * 自定义日志注解 * Retentio ...
- 轻轻松松学会 DRF Django REST framework
据我了解,目前的IT行业的大部分后端开发,都是需要进行前后端分离的,而前后端分类必不可少的是rest 规范,以下是django rest framework的学习路径: DRF Django REST ...
- postman接口测试工具的常规使用
目录 postman接口测试工具简介与安装 postman发送get请求 JSON数据详解 postman发送post请求 postman中post请求传参说明 postman设置请求的header ...
- 大数据学习笔记——Linux完整部署篇(实操部分)
Linux环境搭建完整操作流程(包含mysql的安装步骤) 从现在开始,就正式进入到大数据学习的前置工作了,即Linux的学习以及安装,作为运行大数据框架的基础环境,Linux操作系统的重要性自然不言 ...
- eclipse右下角一直在loading jar文件,如何关闭?
通常导入项目的时候,右下角会显示download一些jar包或者其它内容,速度非常慢,如果你长得很帅很美可能更拖网速,最后可能会超时报错. 大招来了!!! 首先,打开windows->pre ...
- throw和throws有什么区别
1.Throw用于方法内部,Throws用于方法声明上 2.Throw后跟异常对象,Throws后跟异常类型 3.Throw后只能跟一个异常对象,Throws后可以一次声明多种异常类型 throw关键 ...
- .Net C# 时间戳时间转换
闲话不多说,直接上代码 /// <summary> /// 时间拓展 /// </summary> public static class DateTimeExtension ...
- ASP.NET Core知多少(13):路由重写及重定向
背景 在做微信公众号的改版工作,之前的业务逻辑全塞在一个控制器中,现需要将其按厂家拆分,但要求入口不变. 拆分很简单,定义控制器基类,添加公用虚方法并实现,各个厂家按需重载. 但如何根据统一的入口参数 ...
- JS 操作符、控制流程、循环、字符串/数组方法
操作符 算术运算符:+ .- . * . / . %.++.-- 赋值运算符:= .+=.-=. *=./=.%= 比较运算符:>.>=.<.<=.!=.==.===(全等,数 ...