《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包 ...
随机推荐
- 冒泡排序 C&&C++
冒泡排序(因为过程像冒泡,所以叫做冒泡排序) 流程: (1)对数组中各个数字,一次比较相邻两个 (2)如果前面大于后面,就交换这两个数据 (3)再用同样的方法继续排,直到外层循环排完 或者 (1) ...
- 搭建react native所遇到的坑
一.所遇问题 在搭建react native环境中,遇到执行react native run-android命令出现如下问题 Could not resolve all dependencies f ...
- JavaScript图形实例:七彩线团
1.线团图案 设立坐标计算公式为: X=R1*COS(3α)+R2*COS(14α)) Y=R1*SIN(3α)+R2 *SIN(14α)) 再用循环依次取α值为0~2π(每次增量为0.01),计算出 ...
- OpenSSL 自述
1995 年, Eric A. Young 和 Tim J. Hudson 发明了 SSLeay,它是 SSL(Open-source Secure Sockets) 协议的实现.1998 年,You ...
- leetcode第一题两数之和击败了 98.11% 的用户的答案(C++)
虽然题目简单,但我这好不容易优化到前2%,感觉也值得分享给大家(方法比较偷机) 题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们 ...
- 现代前端库开发指南系列(二):使用 webpack 构建一个库
前言 在前文中,我说过本系列文章的受众是在现代前端体系下能够熟练编写业务代码的同学,因此本文在介绍 webpack 配置时,仅提及构建一个库所特有的配置,其余配置请参考 webpack 官方文档. 输 ...
- Kotlin 编程语言成为其 Android 应用程序开发人员的首选语言
今年 5 月,谷歌在 I/O 大会上宣布,Kotlin 编程语言成为其 Android 应用程序开发人员的首选语言. Kotlin 是一种面向现代多平台应用程序的编程语言,成为谷歌开发 Android ...
- Visual Studio 2019使用码云设置过滤忽略的文件或文件夹(ignore file)
Visual Studio 2019使用码云的时候,会遇到 “Git failed with a fatal error.error: open(".vs/{{项目名称}}/Server/s ...
- sqlserver日志处理不当而造成的隐患
sqlserver日志处理不当而造成的隐患 事故背景:一大早还在路上,群里陆续有人反馈系统一直报错 “Unknown error 258”,后来查询日志发现错误日志 第一反应是不是数据库连接不够用了? ...
- sql server重建全库索引和更新全库统计信息通用脚本
重建全库索引: exec sp_msforeachtable 'DBCC DBREINDEX(''?'')' 更新全库统计信息: --更新全部统计信息 exec sp_updatestats 实例反馈 ...