Linux中如何使用OpenSSL命令

OpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不应该只将其作为一个库来使用,它还是一个多用途的、跨平台的密码工具。

Linux中如何使用OpenSSL命令

OpenSSL 运行模式

交互模式

批处理模式

直接输入 openssl 回车进入交互模式,输入带命令选项的 openssl 进入批处理模式。

[root@centos7 ~]# opensslOpenSSL> version
OpenSSL 1.0.2k-fips  26 Jan 2017

OpenSSL 整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL 协议库以及应用程序。

openssl 命令主要用途

创建和管理私钥,公钥和参数

公钥加密操作

创建 X.509 证书,CSR 和 CRL

消息摘要的计算

使用密码进行加密和解密

SSL/TLS 客户端和服务器测试

处理 S/MIME 签名或加密的邮件

时间戳请求,生成和验证

语法格式

openssl command [ command_opts ] [ command_args ]

openssl [ list-standard-commands | list-message-digest-commands | list-cipher-commands | list-cipher-algorithms | list-message-digest-algorithms | list-public-key-algorithms]

openssl no-XXX [ arbitrary options ]

选项说明

Linux中如何使用OpenSSL命令

应用举例

版本信息
[root@centos7 ~]# openssl versionOpenSSL 1.0.2k-fips  26 Jan 2017
[root@centos7 ~]# openssl version -aOpenSSL 1.0.2k-fips  26 Jan 2017
built on: reproducible build, date unspecified
platform: linux-x86_64
options:  bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
OPENSSLDIR: "/etc/pki/tls"engines:  rdrand dynamic

#版本号和版本发布日期(OpenSSL 1.0.2k,2017年1月26日) #使用库构建的选项(options) #存储证书和私钥的目录(OPENSSLDIR)

生成密码功能
[root@centos7 ~]# openssl rand -base64 15DYmkj+RY9QUcb4m5aoNV
[root@centos7 ~]# openssl rand -base64 10RpyTN5W7BLznjA==
[root@centos7 ~]# openssl rand -base64 5AeQaaBE=
消息摘要算法应用

#用SHA1算法计算文件openssl1.txt的哈西值

[root@centos7 ~]# openssl dgst -sha1 openssl1.txtopenssl1.txt: No such file or directory
[root@centos7 ~]# touch openssl1.txt[root@centos7 ~]# openssl dgst -sha1 openssl1.txtSHA1(openssl1.txt)= da39a3ee5e6b4b0d3255bfef95601890afd80709

#用SHA1算法计算文件openssl1.txt的哈西值,输出到文件sha1.txt

[root@centos7 ~]# openssl sha1 -out sha1.txt openssl1.txt[root@centos7 ~]# cat sha1.txtSHA1(openssl1.txt)= da39a3ee5e6b4b0d3255bfef95601890afd80709
对称加密应用

#给文件openssl1.txt用base64编码,输出到文件jiami.txt

[root@centos7 ~]# cat openssl1.txtopenssl
[root@centos7 ~]# openssl base64 -in openssl1.txt -out jiami.txt[root@centos7 ~]# cat jiami.txtb3BlbnNzbAo=
DSA 应用

#生成1024位DSA参数集,并输出到文件jm.pem

[root@centos7 ~]# openssl dsaparam -out jm.pem 1024Generating DSA parameters, 1024 bit long prime
This could take some time
........+...........+..................+.....+..............+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*
.+...+..........+......+.....+..+......+.........+.........+.................+............+...........+..................+...........+........+............+....+.+......+....+...............................+.................+.................+.+......+.......+..........+........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*
[root@centos7 ~]# cat jm.pem-----BEGIN DSA PARAMETERS-----
MIIBHgKBgQCR+2rHHnotQERnaw1i3PaeeGyhZHP7Mjih9RAnNRv3oe+HO2AgiLgr
vWLbT/oRNZhdnvuW8u8b1dmm9xPwwAfkNt0cPyH+28HNJ6ImoO9qQCBVlgPnwmah
WPtA9TXIw7kJVOCUImKKXkbQvKOvlXsTgFHhhQ9GAt9gbHxmWVhqjwIVANzDXsuC
hXZDNAR6O0Dke4p/4H1XAoGAHzT3cByKaD0IN0zCXA0yXMNlyDtE8w7dlv37LcaR
7u0ZV1r4zof/g7Pf+GCHbkVUVPzTrrlkn1Wfqtl2QsmT73jMBwPl+z3Oj7DyFb8J
Nm66epCO1uLaXoIubTZa4QFCuuTarWouizo4qDYQg/vYRDBQK8N5nIh8Wfnte9gq
zTY=
-----END DSA PARAMETERS-----
RSA 应用

#产生1024位RSA私匙,用3DES加密它,口令为mingongge,输出到文件rsa.pem

[root@centos7 ~]# openssl genrsa -out rsa.pem -passout pass:mingongge -des3 1024Generating RSA private key, 1024 bit long modulus
....................++++++
...............++++++
e is 65537 (0x10001)
[root@centos7 ~]# cat rsa.pem-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,34B51F9BE30A3448

uvI8+9g2NGBS+t6VoxUW9JvjiSSnXAHVgJXFsiPtQRIQq3tUEv48QVXOXrLMSTei
DOmScLCrU0X+il+Kl2HtTEqmqzxmP+HlbiahSMthTbXUEcqSnKt/80UxzsKFWsag
lYj5yl+skQoMYLHt0JSc2MlWA6tAHPdEb4/BoEN0zerhgVcXDlLeFXm7ni1tUmVj
mbHmM1TV03kxxzd8KQhFsQkwT/aDtm143rxVrD3NpSS4eXbzm8D4B2A3L0DMaUzk
cAql+iggvH4vS3BCKOX6h6Zr9Vyo4CGjvYSyvkASbc+fVKgvmPM9KP0+hedUH2Hc
55K1ND5S0TWa2qFWk511tKbpBT9RM5P7ipcnr3tyya/RSpVZT7EpEUm+EokOrvHg
SY6AgPSojYdDL3/WrQvJAkMQmuckpEW1lNYGSgFsQmRN8gFb8LXhr+uUf8psT3D9
+Cvo5ynkocW1P1sHpJHuA7WtW7SaRbBGwEoPKjzAfKaV41oz9Sknn1PE5LXpvtIA
zn/vVbKVQvD3ho2I2RuX5vtI7Jvy/TeKDOO9fAuNKqlR7/MmqE7OiKZovuh3xHRk
3d3qif8uH6dCe7l6rElqgONNkYYJ/dBgJ+ZV15ahJFNK10JoBqFgF9dj+vFumWGt
7FuN2kk7Qe1YSn13ZZ7M10EWDPxaMXSnjynazC8MLnokRwf1SwqsZW250J9/dbvt
BEE00IQWC+RmaRgJV+H+3gvCHyMZBRGaxUKiOftrM9Ir3w28wk2jwgSm6v6p/WUg
4JUMPAqjft82lv+MwfKn4OHnuIyfgrZGB6+oR52BToQ=
-----END RSA PRIVATE KEY-----

原创文章,作者:LUNJM,如若转载,请注明出处:https://www.wangzhanshi.com/n/16193.html

(0)
LUNJM的头像LUNJM
上一篇 2025年1月2日 12:38:41
下一篇 2025年1月2日 12:38:53

相关推荐

  • SSL免费证书去哪里申请

    近年来访问未加密的网站可能会很紧张,尤其是当您考虑提供个人信息时。一方面,我们真的希望这些获得网站相关的服务。另一方面,由于这些网站没有使用SSL证书或者使用SSL免费证书,我们在…

    2025年1月2日
  • nginx配置ssl证书的流程步骤

    一、申请证书 首先,大家需要先到阿里云的云服务商处申请一个SSL免费证书。要提醒站长们,亚洲诚信机构颁发的SSL证书,一个域名对应一个证书,子域名需要另外申请。然后下载的是一个zi…

    ssl证书 2025年1月2日
  • https OpenSSL如何生成root CA及签发证书

    一、openssl 简介         openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工…

    2025年1月2日
  • 阿里云部署SSL证书详解

    查找中间证书 为了确保兼容到所有浏览器,我们必须在阿里云上部署中间证书,如果不部署证书,虽然安装过程可以完全也不会报错,但可能导致Android系统,Chrome 和 Firefo…

    2025年1月2日
  • 域名如何证明

    域名证明是“我的”,可以通过下载域名证书来证明。《域名证书》用户证明该域名是由其所有人注册,并已在国际顶级域名数据库中备案。 所有通过注册并交纳相应注册费用的用户,均可通过域名注册…

    ssl证书 2025年1月20日
  • 微信支付接入步骤

    接入步骤 微信支付接入大概步骤如下: 获取支付接口 URL 构建请求参数 发起请求 唤起支付 支付异步通知处理 步骤一中获取支付接口 URL,需要考虑这几点 如何同时支持国内微信支…

    ssl证书 2025年1月2日
  • openssl rc5 ecb模式

    ECB(Electronic Code Book)/电码本模式原理非常简单数据按照8个字节一段进行加密或解密得到一段8个字节的密文或者明文,最后一段不足8个字节,按照需求补足8个字…

    ssl证书 2025年1月2日
  • 如何在php7项目中安装openssl扩展

    1、源码 /home/topsec/Documents/php-7.0.11 ,安装位置在 /usr/local/php7, php.ini 在/ usr/local/php7/l…

    ssl证书 2025年1月2日
  • ssl证书验证失败打不开网页怎么办

    现在说到证书方面的知识,大家一点都不陌生,反倒是有很多人比较熟悉,但是关于ssl证书验证失败打不开网页这个问题如何去处理,ssl证书下载又是怎么样的一个过程?大家很多都是不理解的。…

    2025年1月2日
  • swoole可以能配置ssl证书

    在成功利用swoole_websocket_server 开启websocket服务之后,遇到一个问题,大多数web都是https的,特别是涉及到安全性比较高,设计互联网金融、数字…

    ssl证书 2025年1月2日

发表回复

登录后才能评论