这篇文章主要讲解了“Linux中如何使用OpenSSL命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux中如何使用OpenSSL命令”吧!

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

OpenSSL 运行模式

交互模式

批处理模式

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

[root@centos7~]#opensslOpenSSL>versionOpenSSL1.0.2k-fips26Jan2017

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

openssl 命令主要用途

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

公钥加密操作

创建 X.509 证书,CSR 和 CRL

消息摘要的计算

使用密码进行加密和解密

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

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

时间戳请求,生成和验证

语法格式

opensslcommand[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]opensslno-XXX[arbitraryoptions]选项说明

应用举例版本信息

[root@centos7~]#opensslversionOpenSSL1.0.2k-fips26Jan2017[root@centos7~]#opensslversion-aOpenSSL1.0.2k-fips26Jan2017builton:reproduciblebuild,dateunspecifiedplatform:linux-x86_64options: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_ASMOPENSSLDIR:"/etc/pki/tls"engines:rdranddynamic

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

生成密码功能

[root@centos7~]#opensslrand-base6415DYmkj+RY9QUcb4m5aoNV[root@centos7~]#opensslrand-base6410RpyTN5W7BLznjA==[root@centos7~]#opensslrand-base645AeQaaBE=消息摘要算法应用

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

[root@centos7~]#openssldgst-sha1openssl1.txtopenssl1.txt:Nosuchfileordirectory[root@centos7~]#touchopenssl1.txt[root@centos7~]#openssldgst-sha1openssl1.txtSHA1(openssl1.txt)=da39a3ee5e6b4b0d3255bfef95601890afd80709

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

[root@centos7~]#opensslsha1-outsha1.txtopenssl1.txt[root@centos7~]#catsha1.txtSHA1(openssl1.txt)=da39a3ee5e6b4b0d3255bfef95601890afd80709对称加密应用

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

[root@centos7~]#catopenssl1.txtopenssl[root@centos7~]#opensslbase64-inopenssl1.txt-outjiami.txt[root@centos7~]#catjiami.txtb3BlbnNzbAo=DSA 应用

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

[root@centos7~]#openssldsaparam-outjm.pem1024GeneratingDSAparameters,1024bitlongprimeThiscouldtakesometime........+...........+..................+.....+..............+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.+...+..........+......+.....+..+......+.........+.........+.................+............+...........+..................+...........+........+............+....+.+......+....+...............................+.................+.................+.+......+.......+..........+........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*[root@centos7~]#catjm.pem-----BEGINDSAPARAMETERS-----MIIBHgKBgQCR+2rHHnotQERnaw1i3PaeeGyhZHP7Mjih9RAnNRv3oe+HO2AgiLgrvWLbT/oRNZhdnvuW8u8b1dmm9xPwwAfkNt0cPyH+28HNJ6ImoO9qQCBVlgPnwmahWPtA9TXIw7kJVOCUImKKXkbQvKOvlXsTgFHhhQ9GAt9gbHxmWVhqjwIVANzDXsuChXZDNAR6O0Dke4p/4H1XAoGAHzT3cByKaD0IN0zCXA0yXMNlyDtE8w7dlv37LcaR7u0ZV1r4zof/g7Pf+GCHbkVUVPzTrrlkn1Wfqtl2QsmT73jMBwPl+z3Oj7DyFb8JNm66epCO1uLaXoIubTZa4QFCuuTarWouizo4qDYQg/vYRDBQK8N5nIh8Wfnte9gqzTY=-----ENDDSAPARAMETERS-----RSA 应用

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

[root@centos7~]#opensslgenrsa-outrsa.pem-passoutpass:mingongge-des31024GeneratingRSAprivatekey,1024bitlongmodulus....................++++++...............++++++eis65537(0x10001)[root@centos7~]#catrsa.pem-----BEGINRSAPRIVATEKEY-----Proc-Type:4,ENCRYPTEDDEK-Info:DES-EDE3-CBC,34B51F9BE30A3448uvI8+9g2NGBS+t6VoxUW9JvjiSSnXAHVgJXFsiPtQRIQq3tUEv48QVXOXrLMSTeiDOmScLCrU0X+il+Kl2HtTEqmqzxmP+HlbiahSMthTbXUEcqSnKt/80UxzsKFWsaglYj5yl+skQoMYLHt0JSc2MlWA6tAHPdEb4/BoEN0zerhgVcXDlLeFXm7ni1tUmVjmbHmM1TV03kxxzd8KQhFsQkwT/aDtm143rxVrD3NpSS4eXbzm8D4B2A3L0DMaUzkcAql+iggvH4vS3BCKOX6h6Zr9Vyo4CGjvYSyvkASbc+fVKgvmPM9KP0+hedUH2Hc55K1ND5S0TWa2qFWk511tKbpBT9RM5P7ipcnr3tyya/RSpVZT7EpEUm+EokOrvHgSY6AgPSojYdDL3/WrQvJAkMQmuckpEW1lNYGSgFsQmRN8gFb8LXhr+uUf8psT3D9+Cvo5ynkocW1P1sHpJHuA7WtW7SaRbBGwEoPKjzAfKaV41oz9Sknn1PE5LXpvtIAzn/vVbKVQvD3ho2I2RuX5vtI7Jvy/TeKDOO9fAuNKqlR7/MmqE7OiKZovuh3xHRk3d3qif8uH6dCe7l6rElqgONNkYYJ/dBgJ+ZV15ahJFNK10JoBqFgF9dj+vFumWGt7FuN2kk7Qe1YSn13ZZ7M10EWDPxaMXSnjynazC8MLnokRwf1SwqsZW250J9/dbvtBEE00IQWC+RmaRgJV+H+3gvCHyMZBRGaxUKiOftrM9Ir3w28wk2jwgSm6v6p/WUg4JUMPAqjft82lv+MwfKn4OHnuIyfgrZGB6+oR52BToQ=-----ENDRSAPRIVATEKEY-----

感谢各位的阅读,以上就是“Linux中如何使用OpenSSL命令”的内容了,经过本文的学习后,相信大家对Linux中如何使用OpenSSL命令这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!