OpenSSL - 网络安全之数据加密和数字证书
功能应用:
- 消息摘要,给文件或数据生成消息摘要,消息摘要只能校验数据的完整性,如SHA、MD5
- 数据加密和解密:对数据进行加密解密,OpenSSL实现了所有加密算法
- 数字证书:可以通过命令行或代码生成证书,证书内包含了公钥
- 数字签名:利用加密算法对数据进行签名,验证数据来源可靠性,如RSA
- 随机数字:产生可靠的随机数
加密算法:
HASH算法:SHA、MD5等,不可逆加密,用于校验数据的完整性。
对称加密算法:DES、3DES、DESX等,双方使用相同的密钥进行加密解密。
非对称算法:RSA、ECC等,双方使用不同的密钥进行加密解密,公钥和私钥。公钥加密的数据只有私钥能解密,反之亦然。
其中RSA使用最为广泛,可同时用于数据加密和数字签名。
公钥和私钥:
公钥:公开的,提供给他人的加密解密钥匙,可以提供给多人。
私钥:只能自己一个人使用,不公开
性质:公钥和私钥都能进行加密解密,公钥加密的数据只有私钥能解密,私钥加密的数据只有公钥能解密。
应用场景:
- 公钥数据加密
数字证书内包含了公钥,在进行会话连接时,双方交换各自的公钥,保留自己的私钥。进行数据传输时,利用对方的公钥进行数据加密。加密后的数据只有对方的私钥才能进行解密。
- 私钥数字签名
私钥进行数据加密,所有人用公钥都能解密数据,但是加密后的数据却唯有私钥能生成。可以用于消息来源验证。将数据用私钥加密并明文告诉用户密文内容,用户进行公钥解密比较确认数据来源可靠。
数字证书:
数字证书的作用:通信双方使用公钥和私钥进行加密解密。依然存在风险,当用户公钥被他人替换,他人就可以冒充进行通信。证书内包含了公钥提供者的信息,如地址,邮箱,域名等,并且由第三方机构提供和加密,保证了公钥的可靠性。
利用证书,用户根据证书信息与消息来源进行比较,确认公钥的可靠性,证书由第三方机构颁布。
OpenSSL - 网络安全之数据加密和数字证书的更多相关文章
- 基于OpenSSL的PKI的PKI数字证书系统实现
本篇主要介绍了基于OpenSSL的PKI的PKI数字证书系统实现,利用OpenSSL建立一个CA中心的详细解决方案和建立的具体步骤. 1.PKI数字证书系统设计 PKI数字证书系统主要包括证书颁发机构 ...
- java中的数据加密5 数字证书
数字证书 A用私钥加密了,那么B接受到消息后,用A提供的公钥解密:那么现在有个讨厌的C,他把消息拦截了,然后用自己的私钥加密,同时把自己的公钥发给B,并告诉B,那是A的公钥,结果....,这时候就需要 ...
- OpenSSL 与 SSL 数字证书概念贴
SSL/TLS 介绍见文章 SSL/TLS原理详解(http://seanlook.com/2015/01/07/tls-ssl). 如果你想快速自建CA然后签发数字证书,请移步 基于OpenSSL自 ...
- 网络通信分享(一):数字签名,数字证书,https通信,数据加密
加密算法: 一:对称加密算法 在对称加密算法中,加密使用的密钥和解密使用的密钥是相同的.也就是说,加密和解密都是使用的同一个密钥.因此对称加密算法要保证安全性的话,密钥要做好保密,只能让使用的人知道, ...
- 用Keytool和OpenSSL生成和签发数字证书
一)keytool生成私钥文件(.key)和签名请求文件(.csr),openssl签发数字证书 J2SDK在目录%JAVA_HOME%/bin提供了密钥库管理工具Keytool,用于管理密 ...
- openssl数字证书常见格式与协议介绍
原文地址:http://blog.csdn.net/anxuegang/article/details/6157927 证书主要的文件类型和协议有: PEM.DER.PFX.JKS.KDB.CER.K ...
- 【转载】OpenSSL 提取 pfx 数字证书公钥与私钥
转自https://www.cnblogs.com/Irving/p/9551110.html OpenSSL 提取 pfx 数字证书公钥与私钥 由于之前生产环境已经使用了 Identityser ...
- OpenSSL 提取 pfx 数字证书公钥与私钥
由于之前生产环境已经使用了 Identityserver4 用来做授权与认证的服务,而新项目采用 Spring Cloud 微服务体系,一方面 Spring Cloud 官方暂时只支持 OAuth2. ...
- [加密]openssl之数字证书签名,CA认证原理及详细操作
转自:http://blog.sina.com.cn/s/blog_cfee55a70102wn3h.html 1 公钥密码体系(Public-key Cryptography) 公钥密码体系,又称非 ...
随机推荐
- (转)将cocos2dx项目从VS移植到Eclipse
本文转自:http://www.cnblogs.com/Z-XML/p/3349518.html 引言:我们使用cocos2d-x引擎制作了一款飞行射击游戏,其中创新性地融入了手势识别功能.但是我 们 ...
- bootstrap-table 加载不了数据问题总结
1.Without server-side pagination data-side-pagination="client"(bs-table的设置) 服务器端代码: @Reque ...
- O(1) Check Power of 2 - LintCode
examination questions Using O(1) time to check whether an integer n is a power of 2. Example For n=4 ...
- jquery总结05-常用事件05-触发事件
触发事件 .trigger('click')触发浏览器事件,简写等于.click(),还同时支持自定义事件,并且可以传递参数 $('#elem').on('Aaron', function(event ...
- 《BI那点儿事》数据流转换——导入列、导出列
导入列: 导入列例子现在来做一个例子:创建路径D:\Pictures随便在路径D:\Pictures中粘贴4个比较小的图像文件命名为01.png.02.png.03.png.04.png在路径D:\P ...
- vs 2015 写php太爽了,毕竟我接触的第一款ide就是vs啊
- 《K&R》中引用的几个排序算法(shellsort、)以及一个自己乱写的排序
留待期末考后更新... void shellsort(int v[], int n) { int gap, i, j, temp; ; gap > ; gap /= ) for(i = gap; ...
- 解决方法 test: database removal failed: ERROR: database "test" is being accessed by other users
select * from pg_stat_activity where datname='test'; 找出哪个进程用了这个数据库,然后删除这个进程(pid) kill -9 47182 然后再删除 ...
- static(静态、修饰符)
static(静态.修饰符) static修饰成员变量时:static修饰成员变量时,那么该成员变量的数据就是一个共享的数据. 静态成员变量的访问方式: 方式一: 使用对象进行访问. 对象.属性名 方 ...
- malloc函数详解
一.原型:extern void *malloc(unsigned int num_bytes); 头文件:#include <malloc.h> 或 #include <alloc ...





