CA(Certificate Authority)
CA是一个第三方认证机构,CA的作用是检查证书持有者身份的合法性,并签发证书(在证书上签字),以防证书被伪造或篡改,以及对证书和密钥进行管理。
- 一般以证书的形式发布CA的公钥。CA给自己签发一张证书,证明自己拥有这个公钥,这就是
自签名证书
(Self-Signed Certificate),也可以称呼根证书 - CA自签名证书必须从
可信的途径
下载获取, 可以通过公开权威的媒介获得 - 安装根证书意味着对这个CA认证中心的信任, 是
信任链的起始点
自签名证书
数字证书
从技术上讲,证书其实包含四部分,用户的公钥,用户的信息,CA的名称,还有CA中心对该证书里面的信息签名。
数字证书
- 验证证书上的数字签名,可以确定这份证书的真伪,就是
认证用户的公钥
- 验证需要用
CA 中心的公钥
,公钥可以根据CA的名称(LOIS CA)找到
数字签名
保证信息传输的完整性、发送者的身份认证,防止交易中的抵赖发生。
-
数字签名技术是将
摘要信息
用发送者的私钥加密
,与原文一起传送给接收者。接收者只有用发送者的公钥解密
被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。 -
数字签名是个
数字签名流程加密
的过程,数字签名验证是个解密
的过程
证书标准
X.509:公钥证书,只有公钥。
PKCS#7: 主要是用于签名或者加密。
PKCS#12:含有私钥,同时可以有公钥,但是有口令保护。
X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。
PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准。
PKCS#7 常用的后缀是: .P7B .P7C .SPC
PKCS#12 常用的后缀有: .P12 .PFX
X.509 DER 编码(ASCII)的后缀是: .DER .CER .CRT
X.509 PEM 编码(Base64)的后缀是: .PEM .CER .CRT
编码方式:
-
.pem
后缀的证书都是以“ -- BEGIN ...”开头, 以“ -- END ...”结尾, 内容是base64编码的 -
.der
, 以此后缀的证书都是二进制格式,不可读 -
.crt
, 有可能是.pem
编码, 也有可能是.der
编码, 常见于Unix系统 -
.cer
, 有可能是.pem
编码, 也有可能是.der
编码, 常见于Windows系统 -
.key
, 有可能是.pem
编码, 也有可能是.der
编码, 常用于公钥和私钥
查看证书:
- 查看PEM编码证书
openssl x509 -in certificate.pem -text -noout
- 查看DER编码证书
openssl x509 -in certificate.der -inform der -text -noout
证书转换:
- PEM > DER
command:openssl x509 -in cert.crt -outform der-out cert.der
- DER > PEM
command:openssl x509 -in cert.crt -inform der -outform pem -out cert.pem
网友评论