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 支持的加密算法包括:

  1. 对称加密算法
  • 分组加密算法:AES 、DES、Blowfish、CAST 、IDEA、RC2、RC5
  • 流加密算法: RC4
  1. 非对称加密算法 : DH 、RSA、DSA、EC

2. 摘要命令 dgst

摘要的作用是:

  1. 数据完整性校验: 因为只要改变 原文, 产生的摘要就肯定不一样
  2. 用来作为密码。 对密码进行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相关推荐

  1. SSL/TLS 双向认证(一) -- SSL/TLS工作原理

    本文部分参考: https://www.wosign.com/faq/faq2016-0309-03.htm https://www.wosign.com/faq/faq2016-0309-04.ht ...

  2. 第四篇:网络安全,SSL/TLS加密技术

    文章目录 一.前言 二.SSL/TLS 2.1 SSL/TLS是什么 2.2 SSL/TLS加密基本原理 2.3 SSL/TLS建立握手过程 三.CA & SSL Server & S ...

  3. SSL/TLS工作原理

    一: SSL/TLS介绍 什么是SSL,什么是TLS呢?官话说SSL是安全套接层(secure sockets layer),TLS是SSL的继任者,叫传输层安全(transport layer se ...

  4. SSL/TLS 双向认证(一) -- SSL/TLS 工作原理

    本文部分参考: https://www.wosign.com/faq/faq2016-0309-03.htm https://www.wosign.com/faq/faq2016-0309-04.ht ...

  5. SSL/TLS 双向认证

    其他参考链接 链接: https://blog.csdn.net/xxss120/article/details/78758832. 链接: https://blog.csdn.net/gx_1983 ...

  6. 加密与解密、OpenSSL(SSL/TLS)、OpenSSH(ssh)、dropbear

    下面介绍的是Linux的加密与解密.OpenSSL(SSL/TLS).OpenSSH(ssh).dropbear. 一.数据的加密与解密 1.进程间通信基础 (1).进程间通信方式 同一主机间进程间的 ...

  7. Composer The openssl extension is required for SSL/TLS protection

    =============================新的解决方法(较完善)================================= Composer 是 PHP5以上 的一个依赖管理工 ...

  8. 服务器SSL/TLS快速检测工具TLLSSLed

    服务器SSL/TLS快速检测工具TLLSSLed 现在SSL和TLS被广泛应用服务器的数据加密中,如网站的HTTPS服务.所以,在渗透测试中如何快速检测服务器的SSL和TLS配置寻找安全漏洞,就显得很 ...

  9. 用OpenSSL编写SSL,TLS程序

    http://zhoulifa.bokee.com/6134045.html http://blog.sina.com.cn/s/blog_86ca13bb0100vaph.html http://b ...

最新文章

  1. (八) stm8程序段定位,理解lkf文件
  2. android 根据时间获取周几_android 调用系统 calendars 如何获取一个指定日期的所有日程 event。...
  3. 解决:Field xxMapper in xx.service.impl.xxServiceImpl required a bean of type ‘xx.mapper.xxMapper‘
  4. php取整函数ceil,floor,round,intval函数的区别
  5. ubuntu12.04 安装kinect V1驱动
  6. Java 多并发之原子访问(Atomic Access)
  7. 自动测试-按键精灵使用
  8. Java 后端开发必读的 6 本书!
  9. java 如何执行dig 命令_如何直接在cmd下执行Dig命令
  10. numpy.median()
  11. 生物特征识别技术领跑者--墨奇科技 全面亮相2022身份识别技术大会
  12. 阿里云团队漏洞托管、渗透测试、攻防演练
  13. python 卡方分布函数_卡方检验2-python代码实现
  14. 通信原理-第9章-数字信号的最佳接收
  15. 深度神经网络和人工神经网络区别
  16. 【包你说】红包怎么玩,由你说了算!
  17. 全志T7 Display驱动分析
  18. 百度API加载离线百度电子地图和卫星切片
  19. OUC-移动软件开发-实验4
  20. 2022年最新网络与数据安全法规政策、国标、报告合集(141份)

热门文章

  1. bzoj4806 炮
  2. 用yeoman搭建react画廊项目笔记
  3. mysql命中索引规律
  4. C#语言: 生成静态页面核心代码
  5. [C++]Linux之C编程异常[true未定义解决方案]
  6. 12.解决SUSE Linux无法使用SSH登录的问题
  7. 【干货】陆奇:新格局下的创业创新机会.pdf(附下载链接)
  8. 【报告分享】bilibili2020年营销通案:激活年轻营销力.pdf(附下载链接)
  9. 学习记录-程序语言基础(1)
  10. EMNLP 2021 | 百度:多语言预训练模型ERNIE-M