SSL/TLS 工具 OpenSSL
OpenSSL 是什么
openssl 是SSL相关的命令行工具。其主要功能有:
- 加密(对称加密和非对称加密)
- 密钥证书管理
Linux一般都默认安装了这个工具, Windows 需要另外下载安装。
OpenSSL 的使用
OpenSSL 提供了一些命名工具, 使用示例如下:
1. 加密命令 enc openssl enc, gpg
示例:将myfile.txt (该文本文件的内容只有一个数字1)使用DES算法加密, 加密后的文件是myfile.cipher
openssl enc -e -des3 -a -salt -in myfile.txt -out myfile.cipher
命令选项:
-e
加密 ,-d
解密。 (encrypt 和 decrypt 的首字母)-a
-base64
:对加密结果进行Base 64 编码-salt
加盐, 自动插入一个随机数作为文件内容加密-in
加密的源文件-out
加密后的文件
OpenSSL 支持的加密算法包括:
- 对称加密算法
- 分组加密算法:AES 、DES、Blowfish、CAST 、IDEA、RC2、RC5
- 流加密算法: RC4
- 非对称加密算法 : DH 、RSA、DSA、EC
2. 摘要命令 dgst
摘要的作用是:
- 数据完整性校验: 因为只要改变 原文, 产生的摘要就肯定不一样
- 用来作为密码。 对密码进行MD5算法之后, 密码就无法破解, 只能重置。
OpenSSL 支持的摘要算法有: MD2、MD5、MDC2、SHA(SHA1)、RIPEMD
对文件myfile.txt 使用md5摘要算法生成摘要的命令如下:
openssl dgst -md5 myfile.txt
命令选项:
- 摘要算法:
-md5 -md4 -md2 -sha1 -sha -mdc2 -ripemd160 -dss1
-out filename
将摘要的内容保存到文件中
####3. 生成密码 passwd
openssl -1 -in myfile.txt -salt 123456
命令选项:
-1
使用 md5 加密-salt string
加入随机数, 最多8位-in file
输入文件-stdion
对标准输入内容加密
4. 生成密钥对 genras
- genras 命令用于生成私钥
- rsa 用于从私钥提取公钥
命令语法如下:
openssl genrsa [-out filename] [-passout arg] [-des] [-des3] [-idea] [-f4] [-3] [-rand file(s)] [-engine id] [numbits]
numbits
指定生成私钥的大小, 默认 2048
示例:
openssl genrsa -out myprivate.txt
openssl rsa [-inform PEM|NET|DER] [-outform PEM|NET|DER] [-in filename] [-passin arg] [-out filename] [-passout arg][-sgckey] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout] [-engine id]
-pubout
根据私钥提取出公钥
openssl rsa -in myprivate.txt -out mypub.pub -pubout
命令示例
- 生成私钥
openssl genrsa -out my_private_key.pem 1024
- 提取公钥:
openssl rsa -in my_private_key.pem -pubout -out my_public_key.pem
5. 客户端工具 s_client
客户端工具用于连接远端的服务器。
openssl s_client -connect 192.168.163.131:8443 -tls1_2
OpenSSL 的获取
Linux 的OpenSSL 可以到如下地址下载: https://www.openssl.org/source/。
也可到
https://download.csdn.net/download/oscar999/74145599 下载完整的Windows 和 Linux 版本的 OpenSSL 。
SSL/TLS 工具 OpenSSL相关推荐
- SSL/TLS 双向认证(一) -- SSL/TLS工作原理
本文部分参考: https://www.wosign.com/faq/faq2016-0309-03.htm https://www.wosign.com/faq/faq2016-0309-04.ht ...
- 第四篇:网络安全,SSL/TLS加密技术
文章目录 一.前言 二.SSL/TLS 2.1 SSL/TLS是什么 2.2 SSL/TLS加密基本原理 2.3 SSL/TLS建立握手过程 三.CA & SSL Server & S ...
- SSL/TLS工作原理
一: SSL/TLS介绍 什么是SSL,什么是TLS呢?官话说SSL是安全套接层(secure sockets layer),TLS是SSL的继任者,叫传输层安全(transport layer se ...
- SSL/TLS 双向认证(一) -- SSL/TLS 工作原理
本文部分参考: https://www.wosign.com/faq/faq2016-0309-03.htm https://www.wosign.com/faq/faq2016-0309-04.ht ...
- SSL/TLS 双向认证
其他参考链接 链接: https://blog.csdn.net/xxss120/article/details/78758832. 链接: https://blog.csdn.net/gx_1983 ...
- 加密与解密、OpenSSL(SSL/TLS)、OpenSSH(ssh)、dropbear
下面介绍的是Linux的加密与解密.OpenSSL(SSL/TLS).OpenSSH(ssh).dropbear. 一.数据的加密与解密 1.进程间通信基础 (1).进程间通信方式 同一主机间进程间的 ...
- Composer The openssl extension is required for SSL/TLS protection
=============================新的解决方法(较完善)================================= Composer 是 PHP5以上 的一个依赖管理工 ...
- 服务器SSL/TLS快速检测工具TLLSSLed
服务器SSL/TLS快速检测工具TLLSSLed 现在SSL和TLS被广泛应用服务器的数据加密中,如网站的HTTPS服务.所以,在渗透测试中如何快速检测服务器的SSL和TLS配置寻找安全漏洞,就显得很 ...
- 用OpenSSL编写SSL,TLS程序
http://zhoulifa.bokee.com/6134045.html http://blog.sina.com.cn/s/blog_86ca13bb0100vaph.html http://b ...
最新文章
- (八) stm8程序段定位,理解lkf文件
- android 根据时间获取周几_android 调用系统 calendars 如何获取一个指定日期的所有日程 event。...
- 解决:Field xxMapper in xx.service.impl.xxServiceImpl required a bean of type ‘xx.mapper.xxMapper‘
- php取整函数ceil,floor,round,intval函数的区别
- ubuntu12.04 安装kinect V1驱动
- Java 多并发之原子访问(Atomic Access)
- 自动测试-按键精灵使用
- Java 后端开发必读的 6 本书!
- java 如何执行dig 命令_如何直接在cmd下执行Dig命令
- numpy.median()
- 生物特征识别技术领跑者--墨奇科技 全面亮相2022身份识别技术大会
- 阿里云团队漏洞托管、渗透测试、攻防演练
- python 卡方分布函数_卡方检验2-python代码实现
- 通信原理-第9章-数字信号的最佳接收
- 深度神经网络和人工神经网络区别
- 【包你说】红包怎么玩,由你说了算!
- 全志T7 Display驱动分析
- 百度API加载离线百度电子地图和卫星切片
- OUC-移动软件开发-实验4
- 2022年最新网络与数据安全法规政策、国标、报告合集(141份)
热门文章
- bzoj4806 炮
- 用yeoman搭建react画廊项目笔记
- mysql命中索引规律
- C#语言: 生成静态页面核心代码
- [C++]Linux之C编程异常[true未定义解决方案]
- 12.解决SUSE Linux无法使用SSH登录的问题
- 【干货】陆奇:新格局下的创业创新机会.pdf(附下载链接)
- 【报告分享】bilibili2020年营销通案:激活年轻营销力.pdf(附下载链接)
- 学习记录-程序语言基础(1)
- EMNLP 2021 | 百度:多语言预训练模型ERNIE-M