声明:所有文章只作为学习笔记用,转载非原创
https://blog.csdn.net/legend_x/article/details/39934959
https://blog.csdn.net/dihunman8809/article/details/101624740 #证书的类型
https://blog.51cto.com/9406836/2315174
https://www.cnblogs.com/yxh168/p/9058043.html
https://blog.csdn.net/cuitone/article/details/87966042
基本概念:
X509 证书标准,定义证书内容
openssl:一套开源软件,SSL密码库工具,提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现。
CFSSL: CFSSL是CloudFlare的PKI / TLS瑞士×××。它既是命令行工具,也是用于签名,验证和捆绑TLS证书的HTTP API服务器.
证书签名请求CSR
CSR(Certificate Signing Request),它是向CA机构申请数字×××书时使用的请求文件
#证书与秘钥的关系
http://www.360doc.com/content/13/1001/18/13493714_318414906.shtml
https://csr.chinassl.net/convert-ssl.html
https://csr.chinassl.net/convert-ssl.html #证书格式介绍
https://zhuanlan.zhihu.com/p/49562121
公钥的验证:http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html
使用私钥,对这个摘要加密,生成"数字签名"(signature签名)
digest
再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。
证书: cer 文件
秘钥: key
#数字证书和签名之间的关系
三步骤:
首先A去找"证书中心"(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对A的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate):
A在邮件正文下方除了数字签名,另外加上这张数字证书
B收到Email后用CA的公钥解密这份数字证书,拿到A的公钥,然后验证数字签名,后面流程就和图1的流程一样了,不再赘述。
#通俗理解的过程
https://www.jianshu.com/p/4932cb1499bf
数字签名的作用就是验证数据来源以及数据完整性!解密过程则称为数字签名验证。
1.A先对这封Email执行哈希运算得到hash值简称“摘要”,取名h1
2.然后用自己私钥对摘要加密,生成的东西叫“数字签名”
3.把数字签名加在Email正文后面,一起发送给B
(当然,为了防止邮件被窃听你可以用继续公钥加密,这个不属于数字签名范畴)
4.B收到邮件后用A的公钥对数字签名解密,成功则代表Email确实来自A,失败说明有人冒充
5.B对邮件正文执行哈希运算得到hash值,取名h2
6.B 会对比第4步数字签名的hash值h1和自己运算得到的h2,一致则说明邮件未被篡改。
我们讲的数字签名技术是用哈希算法和非对称加密算法来实现的
网友评论