Debian上OpenSSL命令行工具使用教程

一、安装OpenSSL

sudo apt update
sudo apt install openssl  # 安装OpenSSL工具包
# 验证安装
openssl version

二、常用命令

1. 生成密钥对

  • 生成RSA私钥
    openssl genrsa -out private_key.pem 2048 # 2048位私钥
  • 提取公钥
    openssl rsa -in private_key.pem -pubout -out public_key.pem

2. 证书管理

  • 生成证书签名请求(CSR)
    openssl req -new -key private_key.pem -out csr.csr # 需输入国家、组织等信息
  • 生成自签名证书
    openssl req -x509 -new -nodes -key private_key.pem -sha256 -days 365 -out certificate.crt # 有效期365天
  • 查看证书信息
    openssl x509 -in certificate.crt -text -noout
  • 格式转换(PEM ↔ DER)
    openssl x509 -in cert.pem -outform DER -out cert.der # PEM转DER
    openssl x509 -in cert.der -inform DER -out cert.pem # DER转PEM

3. 加密解密

  • 对称加密(AES-256-CBC)
    openssl enc -aes-256-cbc -e -in plaintext.txt -out encrypted.bin -k password # 加密
    openssl enc -d -aes-256-cbc -in encrypted.bin -out decrypted.txt -k password # 解密
  • 非对称加密(RSA)
    openssl pkeyutl -encrypt -pubin -inkey public_key.pem -in file.txt -out encrypted.bin # 公钥加密
    openssl pkeyutl -decrypt -inkey private_key.pem -in encrypted.bin -out file.txt # 私钥解密

4. 其他常用操作

  • 生成随机字符串
    openssl rand -base64 32 # 32字节随机字符串
  • 计算文件哈希
    openssl dgst -sha256 file.txt
  • 列出支持的算法
    openssl list -cipher-commands # 加密算法
    openssl list -message-digest-commands # 摘要算法

三、高级功能

  • 创建PKCS#12文件(PFX)
    openssl pkcs12 -export -in certificate.crt -inkey private_key.pem -out keystore.pfx -name mycert
  • 验证证书签名
    openssl verify -CAfile ca.crt certificate.crt

四、注意事项

  • 命令中的-k参数直接使用明文密码,生产环境建议用-pass参数指定密码文件或环境变量。
  • 详细用法可通过man opensslopenssl <子命令> -help查看。

以上命令覆盖基础到中级使用场景,可根据实际需求组合使用。