openssl使用
一、
加密方法
dsaffdfd
fgggg
1.对称加密:
加密算法 + 口令
加密算法:
DES(56bits),3DES(用des加密反复加密三次),AES(128bits),Blowfish
特性:
加密法,加密/解密方使用同一个口令
把数据分成块,然后进行加密
面临问题:
密钥交换 -》解决:DH算法
用户身份认证
数据完整性
2.非对称加密:
加密算法:
RSA,EIGamal,DSA(只能签名不能加密)
一般而言,先用对称加密算法对数据进行加密,然后再用非对称加密把口令加密
密钥交换
用户身份认证
数据完整性
3.单向加密:
抽取数据特征码:
MD5(128bits),SHA1(160bits),SHA512,CRC-32(512bits)
以上实现工具: openssl,gpg
二、openssl
1.openssl:套件,开源程序
libcrypto:通用功能的加密库
libssl:用于实现TLS/SSL的功能
openssl:多功能命令工具
生成密钥、创建数字证书、手动加密解密数据
2.加密解密技术常用的功能及算法
a.对称加密:
算法:DES(56bits),3DES(用des加密反复加密三次),AES(128bits),Blowfish
实现工具:gpg,openssl enc
例:openssl enc
# openssl enc -des3 -a -salt -in /root/a.txt -out /tmp/a.jiami 加密
# openssl enc -d -des3 -a -salt -in /tmp/a.jiami -out /tmp/a.new 解密
b.单向加密:
算法:MD5(128bits),SHA1(160bits),SHA512,CRC-32(512bits)
实现工具:sha1sum,md5sum,cksum,openssl dgst
c.非对称加密:
非对称加密一般只做密钥交换,用户身份验证
密钥对:
公钥:pkey
私钥:skey
工具:gpg,openssl rsautl
数字证书:
证书格式:x509,pkcs
x509格式:
公钥和有效期限
持有者的个人合法身份信息
证书的使用方式
CA的信息
CA的数字签名
谁给CA发证书,CA要证书有什么用?
自签证书,CA证书包含CA的公钥,主机请求的到后,验证用户使用


三、用openssl实现私有CA
配置文件:/etc/pki/tls/openssl.cnf
[root@ca CA]# pwd
/etc/pki/CA
[root@ca CA]# tree
.
├── certs #签署证书目录
├── crl #吊销证书目录
├── newcerts
└── private
1、生成密钥对:
[root@ca ~]# cd /etc/pki/CA/
[root@ca CA]# (umask 077;openssl genrsa -out private/cakey.pem 2048)
Generating RSA private key, 2048 bit long modulus
............+++
...............................................................................+++
e is 65537 (0x10001)
[root@ca CA]# ls private/
cakey.pem
[root@ca CA]# openssl rsa -in private/cakey.pem -pubout -text -noout #查看公钥
openssl使用的更多相关文章
- RSA非对称加密,使用OpenSSL生成证书,iOS加密,java解密
最近换了一份工作,工作了大概一个多月了吧.差不多得有两个月没有更新博客了吧.在新公司自己写了一个iOS的比较通用的可以架构一个中型应用的不算是框架的一个结构,并已经投入使用.哈哈 说说文章标题的相关的 ...
- 显示本地openssl支持的加密算法
参考页面: http://www.yuanjiaocheng.net/webapi/parameter-binding.html http://www.yuanjiaocheng.net/webapi ...
- 非阻塞/异步(epoll) openssl
前段时间在自己的异步网络框架handy中添加openssl的支持,当时在网络上搜索了半天也没有找到很好的例子,后来自己慢慢的摸索,耗费不少时间,终于搞定.因此把相关的资料整理一下,并给出简单的例子,让 ...
- PHPmailer关于Extension missing: openssl报错的解决
最近在写一个网页的时候,需要用到PHPmailer来发送邮件,按照官网上给出的demo写出一个例子,却报错Extension missing: openssl 最后发现需要修改php.ini中的配置: ...
- openssl、x509、crt、cer、key、csr、ssl、tls 这些都是什么鬼?
今天尝试在mac机上搭建docker registry私有仓库时,杯具的发现最新的registry出于安全考虑,强制使用ssl认证,于是又详细了解linux/mac上openssl的使用方法,接触了一 ...
- Windows10下安装OpenSSL
Windows10下安装的方法 安装环境:Windows10专业版+VS2013 工具:ActivePerl-5.22.1.2201-MSWin32-x64-299574.msi,下载地址:http: ...
- CentOS升级openssl
才设置了http2,结果蓝狗说我网站不安全,检测一下发现openssl有漏洞,于是准备升级一下openssl 检测网站: www.ssllabs.com/ssltest/analyze.html # ...
- openssl+前端jsrsa签名+后端nodejs验签
内容如标题所示,总体分为三个部分: 一.win10下安装openssl,然后通过openssl工具生成RSA的公钥和私钥 (1)win10下安装openssl需要的工具有:VS2013,Perl,na ...
- openssl用法详解
OpenSSL 是一个开源项目,其组成主要包括一下三个组件: openssl:多用途的命令行工具 libcrypto:加密算法库 libssl:加密模块应用库,实现了ssl及tls openssl可以 ...
- Nginx 1.10.1 编译、配置文档(支持http_v2,TLSv1.2,openssl v1.0.2)
1.安装常用工具及基础包: [root@localhost /]# yum -y install wget git vim make gcc gcc-c++ openssl-devel [root@l ...
随机推荐
- HDU 2783 You’ll be Working on the Railroad(最短路)
You’ll be Working on the Railroad Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3276 ...
- C++析构函数的自动调用(析构函数必须是虚拟的,这样删除父类指针指向的子类对象,才能同时调用两者的析构函数,否则就没有机会调用子类析构函数)
class A {public: A() { printf("A \n"); } ~A() { printf(" ~A \n"); } // 这里不管写不写vi ...
- RMAN备份与恢复 —— 完全恢复与不完全恢复
名词解释: 顾名思义,完全恢复就是指数据没有丢失的恢复了.不完全恢复是指恢复后有部分数据丢失.它们是数据库的两种恢复方式. 完全恢复:利用重做日志或增量备份将数据块恢复到最接近当前时间的 ...
- 创建带标签页的MDI WinForms应用程序
http://www.cnblogs.com/island/archive/2008/12/02/mditab.html 创建MDI应用程序 先创建”Windows窗体应用程序”解决方案Tabable ...
- ORACLE之字符集修改(10g)
当从oracle服务器将数据导出成dmp文件后,再导入到本地的oracle数据库时,出现: IMP-00019: 由于 ORACLE 错误 12899 而拒绝行 IMP-00003: 遇到 ORACL ...
- HBase的访问方式
这里只介绍三种最常用的方式 1.HBase shell HBase的命令行工具是最简单的接口,主要用于HBase管理 首先启动HBase 帮助 hbase(main):001:0> help 查 ...
- python面向对象的三大特征--继承子类调用父类方法
#在子类中调用父类方法 class Vehicle: country="China" def __init__(self,name,speed,load,power): self. ...
- tar shell zip
tar 打包后生成的文件名全路径 要打包的目录 tar -czPf xx/script.tar.gz ...
- ffmpeg参数
a) 通用选项 -L license-h 帮助-fromats 显示可用的格式,编解码的,协议的...-f fmt 强迫采用格式fmt-I filename 输入文件-y 覆盖输出文件-t durat ...
- Redis分布式锁【正确实现方式】
前言 分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁.虽然网上已经有各种介 ...