码迷,mamicode.com
首页 > 其他好文 > 详细

OpenSSL - 数据加密和数字证书

时间:2016-07-07 19:36:49      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

功能应用:

  1. 消息摘要,给文件或数据生成消息摘要,消息摘要只能校验数据的完整性,如SHA、MD5
  2. 数据加密和解密:对数据进行加密解密,OpenSSL实现了所有加密算法
  3. 数字证书:可以通过命令行或代码生成证书,证书内包含了公钥
  4. 数字签名:利用加密算法对数据进行签名,验证数据来源可靠性,如RSA
  5. 随机数字:产生可靠的随机数

加密算法:

HASH算法:SHA、MD5等,不可逆加密,用于校验数据的完整性。

技术分享

 

对称加密算法:DES、3DES、DESX等,双方使用相同的密钥进行加密解密。

技术分享

 

非对称算法:RSA、ECC等,双方使用不同的密钥进行加密解密,公钥和私钥。公钥加密的数据只有私钥能解密,反之亦然。

 技术分享

其中RSA使用最为广泛,可同时用于数据加密和数字签名。

公钥和私钥:

公钥:公开的,提供给他人的加密解密钥匙,可以提供给多人。

私钥:只能自己一个人使用,不公开

性质:公钥和私钥都能进行加密解密,公钥加密的数据只有私钥能解密,私钥加密的数据只有公钥能解密。

应用场景:

  • 公钥数据加密

数字证书内包含了公钥,在进行会话连接时,双方交换各自的公钥,保留自己的私钥。进行数据传输时,利用对方的公钥进行数据加密。加密后的数据只有对方的私钥才能进行解密。

  • 私钥数字签名

私钥进行数据加密,所有人用公钥都能解密数据,但是加密后的数据却唯有私钥能生成。可以用于消息来源验证。将数据用私钥加密并明文告诉用户密文内容,用户进行公钥解密比较确认数据来源可靠。

 技术分享

数字证书:

数字证书的作用:通信双方使用公钥和私钥进行加密解密。依然存在风险,当用户公钥被他人替换,他人就可以冒充进行通信。证书内包含了公钥提供者的信息,如地址,邮箱,域名等,并且由第三方机构提供和加密,保证了公钥的可靠性。

技术分享

利用证书,用户根据证书信息与消息来源进行比较,确认公钥的可靠性,证书由第三方机构颁布。

技术分享

OpenSSL中涉及的证书相关文件:

  • .key格式:密钥文件
  • .crt格式:证书文件,包含公钥提供者信息,但不包含公钥
  • .csr格式:证书签名请求文件,发送给CA机构用于证书签证颁发
  • .crl格式:证书吊销列表
  • .pem格式:用于建立加密连接双方传输交换公钥的证书,包含公钥信息

OpenSSL - 数据加密和数字证书

标签:

原文地址:http://www.cnblogs.com/binchen-china/p/5650774.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!