数字证书是一种认证机制。简单点说,它表明了一种由权威机构颁发受权的安全标志。linux
在之前,传统网站采用HTTP协议进行数据传输,全部的数据几乎都用的明文,很容易发生隐私泄露。为了解决安全问题,你们开始考虑采用加解密的方案,因而乎诞生了公钥加密(非对称加解密)及签名算法。浏览器从服务端获得公钥,通过协商并生成动态密钥,此后全部的请求响应都基于动态密钥加解密。然而对于浏览器而言,是否是全部声称了 HTTPS 的服务器都值得信任呢。答案是否认的,服务器必须提供一个凭证以证实本身值得信任,因而乎这就有了证书,一般的证书里面则包含了公钥。浏览器与服务器进行加密数据传输的前提是服务器证书受到信任,即存在于浏览器的受信任证书列表中。git
Public Key Infrastructure,是基于公开密钥技术所构建的,用以解决网络安全问题的通用基础平台。其服务范围包括公钥管理、提供认证、加密、完整性和可追究性服务。
PKI 几乎能够代言整个公钥技术体系标准。从概念上,PKI 涵盖了 PMI (权限管理),然而实质上 PKI 不只如此,目前只要是基于公钥技术实现网络安全的全部协议、组件、服务等都从属于 PKI,包括上述的证书。github
1 数字证书 Certificate
2 证书签署机构 CA 及批准机构 RA
3 存储目录
4 证书策略、证书路径及使用者算法
Certificate Authority,CA 是负责发放并管理数字证书的第三方权威机构,它负责管理 PKI 体系中的全部组织、我的、以及他们持有的的数字证书,将用户的公钥及用户的其余信息捆绑在一块儿,在网上验证用户的身份。CA机构的数字签名使得攻击者不能伪造和篡改证书。chrome
CA创建自上而下的信任链,下级CA信任上级CA,下级CA由上级CA颁发证书并认证
如github的证书层级:windows
证书颁发:接收、验证及受理用户(包括下级认证中心和最终用户)的数字证书的申请。
证书更新:认证中心能够按期更新全部用户的证书,或者根据用户的请求来更新用户的证书
证书查询:查询当前用户证书申请处理过程;查询用户证书的颁发信息,这类查询由目录服务器LDAP来完成
证书做废:因为用户私钥泄密等缘由,须要向认证中心提出证书做废的请求;证书已通过了有效期,认证中心自动将该证书做废。认证中心经过维护证书做废列表 (Certificate Revocation List,CRL) 来完成上述功能。
证书的归档:证书具备必定的有效期,证书过了有效期以后就将做废,可是咱们不能将做废的证书简单地丢弃,由于有时咱们可能须要验证之前的某个交易过程当中产生的数字签名,这时咱们就须要查询做废的证书。
来源:浏览器
x.509 是PKI 体系中最基础的标准,它最早定义了公钥证书的基本结构:
SSL公钥证书
证书废除列表CRL(Certificate revocation lists)安全
PKCS#12
windows 平台及 mac平台使用的证书标准,一般使用 pfx/p12 做为文件扩展名,
该标准在X509的基础之上增长了私钥及存取密码。服务器
PEM - Privacy Enhanced Mail, BASE64编码,可读
Apache和Unix/Linux 服务器采用的编码格式.
DER - Distinguished Encoding Rules,二进制格式,不可读.
Windows 服务器采用的编码格式.网络
pem/der 数字证书,编码格式与其名称对应;
crt 数字证书,常见于unix/linux系统;
cer 数字证书,常见于windows系统;
key 非证书,通常是公钥或私钥文件;
csr certificate signing request,证书签名请求文件;
pfx/p12 - predecessor of PKCS#12,是PKCS#12 标准的证书文件,
同时包含了公钥和私钥,存取时需提供密码,采用DER 编码
使用chrome 打开 https://github.com/ ,点击连接左边的 区域可看到信息面板:
找到证书信息,导出详细信息