OpenSSL中PKCS#7格式的数字签名

本文介绍了OpenSSL中基于PKCS#7的数字签名概念,涉及SSL加密技术、对称加密与非对称加密的区别,以及数字签名的验证过程。重点讲解了PKCS#7的六种数据内容类型,包括数据、摘要、数字信封等,并阐述了签名数据的生成步骤。
摘要由CSDN通过智能技术生成

最近在看OpenSSL相关的资料,看了很久还是感觉有点不得其法,尤其对其与python内的应用还是没多大头绪,

先把知道的整理一下出来,目前会用到的加密方法是基于PKCS7做数字签名,不知道这样的描述算不算准确

SSL(Secure Socket Layer) 是一种加密技术,可以提供对称加密和非对称加密。由于它在协议层里正好是在传输层与应用层之间,这就决定了上层应用必须经过它,这就是它广泛流行和易于实现的原因。

对称加密有md5,sha1。由于md5已被学者证明可以计算出加密冲突,即它有一定的不安全性,所以建议用sha1加密。

非对称性加密有RSA,即密码有一对,一个私钥,一个公钥,公钥可以让所有人知道,私钥只有自己知道。这样理解,服务器产生一对密钥,公钥给别人即客户端,客户端用它来加密,加密后发给服务端,服务端用自己的私钥解密后得到数据。

数字签名就和上面的过程相反,即数据由服务端用私钥加密,客户端用服务端的公钥解密,解得出来就说明这数据包的确是出服务端发过来的。数字签名是由服务端自己签的,但没人去验证这个服务端是不是你所要访问的真实的,所以需要第三方来帮忙检验,就和支付宝处于第三方来协调的位置一样。这个第三方就叫CA。所以服务器产生的公钥就交给CA,CA用CA自己的私钥加密,即数字签名,加密生会生成证书,证书还是要交给服务端,放在服务端那边。当客户端访问服务端时,服务端就会把这个证书安装到客户端上。(数字签名需要确认两点:一、信息是由签名者发送的;二、信息自签发后到收到为止未做过任何修改)

数字签名原理:1. 被发送文件采用hash算法对

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值