温馨提示×

Linux下OpenSSL命令大全及用法

小樊
95
2025-03-08 15:20:05
栏目: 云计算

OpenSSL是一个强大的加密工具包,用于实现安全套接字层(SSL/TLS)和传输层安全性(TLS)网络协议及其所需的相关加密标准。以下是OpenSSL命令的详细列表及其用法:

常用OpenSSL命令及用法

  • 生成RSA密钥对

    openssl genrsa -out private.key 2048
    

    生成一个2048位的RSA私钥文件private.key

  • 生成自签名证书

    openssl req -new -x509 -sha256 -key private.key -out certificate.crt -days 365
    

    生成一个自签名的X.509证书文件certificate.crt,有效期为365天。

  • 生成CSR(证书签名请求)

    openssl req -new -key private.key -out csr.csr
    

    生成一个证书签名请求文件csr.csr,用于向证书颁发机构申请证书签名。

  • 查看证书信息

    openssl x509 -in certificate.crt -text -noout
    

    显示证书文件certificate.crt的详细信息。

  • 对称加密解密数据

    openssl enc -e -aes-256-cbc -in plaintext.txt -out ciphertext.bin -k password
    openssl enc -d -aes-256-cbc -in ciphertext.bin -out plaintext.txt -k password
    

    使用AES-256-CBC算法对文件plaintext.txt进行加密生成密文文件ciphertext.bin,以及对密文文件ciphertext.bin进行解密生成明文文件plaintext.txt,加解密时使用的密码为password

  • RSA加密解密数据

    openssl rsautl -encrypt -pubin -in plaintext.txt -out ciphertext.bin -inkey public.key
    openssl rsautl -decrypt -in ciphertext.bin -out plaintext.txt -inkey private.key
    

    使用RSA算法对文件plaintext.txt进行加密生成密文文件ciphertext.bin,以及对密文文件ciphertext.bin进行解密生成明文文件plaintext.txt,加解密时使用的公钥和私钥分别为public.keyprivate.key

命令列表

OpenSSL提供了丰富的命令,以下是一些常用的子命令及其功能:

  • asn1parse:解析ASN.1序列。
  • ca:证书颁发机构(CA)管理。
  • ciphers:加密套件描述确定。
  • cms:CMS(Cryptographic Message Syntax,加密消息语法)实用程序。
  • crl:证书吊销列表(CRL)管理。
  • dgst:消息摘要计算。
  • dh:Diffie-Hellman参数管理。
  • dsa:DSA数据管理。
  • ec:EC(椭圆曲线)密钥处理。
  • enc:使用加密套件进行编码。
  • engine:引擎(可装载模块)信息和操作。
  • errstr:错误编号到错误字符串的转换。

选项说明

  • -help:显示帮助信息。
  • -version:显示OpenSSL的版本信息。
  • -in file:指定输入文件。
  • -out file:指定输出文件。
  • -noout:禁止输出原始文件内容。
  • -text:以可读的文本格式显示内容。

以上是OpenSSL命令的一部分,更多命令和详细用法可以参考OpenSSL官方文档或相关资源。

0