温馨提示×

Debian系统OpenSSL命令大全

小樊
34
2025-12-17 06:44:45
栏目: 云计算

Debian 系统 OpenSSL 命令速查

一 安装与版本

  • Debian 上安装 OpenSSL 与开发库:
    • 安装:sudo apt update && sudo apt install openssl libssl-dev
    • 验证:openssl version
  • 建议保持 OpenSSL 为最新安全版本,及时修补漏洞。

二 密钥与证书管理

  • 生成 RSA 私钥(2048 位)openssl genrsa -out rsa_key.pem 2048
  • 从私钥导出 RSA 公钥openssl rsa -in rsa_key.pem -pubout -out rsa_key.pub
  • 生成 证书签名请求 CSRopenssl req -new -key rsa_key.pem -out request.csr
  • 生成 自签名证书(X.509,365 天)openssl req -new -x509 -days 365 -key rsa_key.pem -out certificate.crt
  • 查看 证书内容openssl x509 -in certificate.crt -text -noout
  • 证书格式转换:
    • PEM → DERopenssl x509 -in certificate.crt -outform DER -out certificate.der
    • DER → PEMopenssl x509 -in certificate.der -inform DER -out certificate.pem
  • 证书校验(使用 CA 证书):openssl verify -CAfile ca.crt certificate.crt

三 对称加密与文件处理

  • 对称加密(AES-256-CBC):
    • 加密:openssl enc -aes-256-cbc -salt -in plain.txt -out encrypted.bin
    • 解密:openssl enc -d -aes-256-cbc -in encrypted.bin -out decrypted.txt
  • 生成强随机密码(Base64,32 字节):openssl rand -base64 32
  • 计算文件摘要(哈希):
    • SHA-256openssl dgst -sha256 file.txt
    • MD5openssl dgst -md5 file.txt
  • 非对称加解密(RSA,适合小数据):
    • 公钥加密:openssl rsautl -encrypt -inkey rsa_key.pub -pubin -in plain.txt -out encrypted.enc
    • 私钥解密:openssl rsautl -decrypt -inkey rsa_key.pem -in encrypted.enc -out decrypted.txt

四 密钥交换与参数

  • Diffie-Hellman 参数(2048 位)openssl dhparam -out dhparams.pem 2048
  • ECDH 密钥对(secp384r1 曲线)openssl ecparam -name secp384r1 -genkey -noout -out ecdhkey.pem
  • 导出 ECDH 公钥openssl pkey -in ecdhkey.pem -pubout -out ecdhpub.pem

五 PKI 与服务器部署

  • 打包 PKCS#12(证书 + 私钥):openssl pkcs12 -export -in certificate.crt -inkey rsa_key.pem -out keystore.p12 -name mycert
  • 部署到 Nginx(示例路径):
    • 复制文件:sudo cp certificate.crt /etc/ssl/certs/ && sudo cp rsa_key.pem /etc/ssl/private/
    • 配置示例:
      SSLCertificateFile    /etc/ssl/certs/certificate.crt
      SSLCertificateKeyFile /etc/ssl/private/rsa_key.pem
      
    • 生效:sudo systemctl restart nginx
  • 安全建议:
    • 全站启用 HTTPS,选择安全算法(如 AES、RSA),避免过时算法
    • 实施证书固定(Certificate Pinning)
    • 定期更新 OpenSSL 并监控日志

0