Open ssl用法详解

openssl用法详解

OpenSSL 是一个开源项目,其组成主要包括一下三个组件:

  • openssl:多用途的命令行工具
  • libcrypto:加密算法库
  • libssl:加密模块应用库,实现了ssl及tls
    openssl可以实现:秘钥证书管理、对称加密和非对称加密 。

1、对称加密

  • 对称加密需要使用的标准命令为 enc ,用法如下:
  • openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md] [-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-engine id]
  • 常用选项有:
  • -in filename:指定要加密的文件存放路径
  • -out filename:指定加密后的文件存放路径
  • -salt:自动插入一个随机数作为文件内容加密,默认选项
  • -e:可以指明一种加密算法,若不指的话将使用默认加密算法
  • -d:解密,解密时也可以指定算法,若不指定则使用默认算法,但一定要与加密时的算法一致
  • -a/-base64:使用-base64位编码格式
    示例:加密:]# openssl enc -e -des3 -a -salt -in fstab -out jiami解密:]# openssl enc -d -des3 -a -salt -in fstab -out jiami

2、单向加密

  • 单向加密需要使用的标准命令为 dgst ,用法如下:
  • openssl dgst [-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] [-c] [-d] [-hex] [-binary] [-out
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenSSL 是一个开源的密码学工具包,它提供了很多加密和解密算法,包括 SSL/TLS 协议的实现。在 Linux 系统中,OpenSSL 库已经预装了,可以直接使用。以下是使用 OpenSSL 库的一些基本操作: 1. 生成证书和私钥 使用 OpenSSL 生成自签名证书和私钥的命令如下: ``` openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 ``` 其中 `-x509` 表示生成自签名证书,`-newkey rsa:2048` 表示生成 2048 位的 RSA 密钥对,`-keyout key.pem` 表示将私钥保存到 key.pem 文件中,`-out cert.pem` 表示将证书保存到 cert.pem 文件中,`-days 365` 表示证书的有效期为 365 天。 2. 加密和解密文件 使用 OpenSSL 加密文件的命令如下: ``` openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt ``` 其中 `-aes-256-cbc` 表示使用 AES256 加密算法和 CBC 模式,`-salt` 表示使用随机盐值加密,`-in plaintext.txt` 表示需要加密的明文文件,`-out encrypted.txt` 表示加密后的密文文件。 使用 OpenSSL 解密文件的命令如下: ``` openssl enc -aes-256-cbc -d -in encrypted.txt -out plaintext.txt ``` 其中 `-d` 表示解密操作,其他参数同上。 3. 计算摘要 使用 OpenSSL 计算摘要的命令如下: ``` openssl dgst -sha256 file.txt ``` 其中 `-sha256` 表示使用 SHA256 算法计算摘要,`file.txt` 表示需要计算摘要的文件。 4. 使用 SSL/TLS 协议 使用 OpenSSL 客户端连接 SSL/TLS 服务器的命令如下: ``` openssl s_client -connect example.com:443 ``` 其中 `example.com:443` 表示 SSL/TLS 服务器的地址和端口号。 使用 OpenSSL 服务器监听 SSL/TLS 连接的命令如下: ``` openssl s_server -cert cert.pem -key key.pem -accept 443 ``` 其中 `-cert cert.pem` 表示使用 cert.pem 文件作为服务器证书,`-key key.pem` 表示使用 key.pem 文件作为服务器私钥,`-accept 443` 表示监听 443 端口的 SSL/TLS 连接。 以上是使用 OpenSSL 的一些基本操作,更详细的使用方法可以参考 OpenSSL 的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值