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 ...
随机推荐
- 在Centos7.6使用kubeadm部署k8s 1.14.3
K8s不是一个软件,而是一堆软件的集合,由于这堆软件各自独立,因此可能k8s安装过程很容易出现问题 K8s部署有多种方式,本文使用kubeadm部署,从易操作性和可控性来说属于中等的方式 环境:cen ...
- [APIO2019] 奇怪装置
$solution:$ 问题其实就是求两个式子的循环节. 钦定 $t\mod B=0$且 $(t\neq 0)$,其 $t$ 为循环节. 则将 $1$ 式拆开得 $\frac{t\times (B+1 ...
- 27、前端知识点--webpack面试题(二)
webpack面试题总结 本文主要是对webpack面试会常被问到的问题做一些总结,且文章会不断持续更新 1.webpack打包原理 把所有依赖打包成一个 bundle.js 文件,通过代码分割成单元 ...
- Thymeleaf简介
Thymeleaf Thymeleaf简介 Thymeleaf是一个流行的模板引擎,该模板引擎采用Java语言开发,模板引擎是一个技术名词,是跨领域跨平台的概念,在Java语言体系下有模板引擎,在C# ...
- Rsync+inotify 实时数据同步 inotify master 端的配置
强大的,细致的,异步的文件系统事件监控机制.Linux 内科从 2.6.13 起支持 inotify Inotify 实现的几款软件:Inotify,sersync,lsyncd ※Inotify 实 ...
- linux安装 rsync 客户端和相关权限认证
[root@rsync-client-inotify /]# yum install rsync -y [root@rsync-client-inotify /]# echo "redhat ...
- linux设定 runlevel 3
runlevel 查看当前系统运行级别 vi /etc/inittab //运行级别配置文件
- uiautomator2 使用注意的地方
uiautomator2项目地址:https://github.com/openatx/uiautomator2#basic-api-usages 下面记录一些自己在使用过程中的坑,仅供参考 1.通过 ...
- DataFrame.loc的区间
df.loc[dates[0:1],'E']和df.loc[dates[0]:dates[1],'E']不同. 前者不包含dates[1],后者是包含dates[1]的. 根据Python3中实际代码 ...
- Anacond的介绍
Anacond的介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项. 因为包含了大量的科学包,Anaconda 的下载文件比较大( ...