温馨提示×

ubuntu中openssl的常用命令有哪些

小樊
38
2025-12-16 20:54:33
栏目: 云计算

在Ubuntu系统中,OpenSSL是一个强大的加密工具包,提供了多种命令来执行加密、解密、签名、验证等操作。以下是一些常用的OpenSSL命令:

1. 生成密钥对

  • 生成RSA私钥
    openssl genrsa -out rsa_private_key.pem 2048
    
  • 生成RSA公钥
    openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
    

2. 生成证书签名请求(CSR)

  • 生成CSR并自签名
    openssl req -new -key rsa_private_key.pem -out csr.pem
    
  • 填写详细信息 在执行命令时,系统会提示你输入一系列信息,如国家、组织名称等。

3. 生成自签名证书

  • 基于CSR生成自签名证书
    openssl x509 -req -days 365 -in csr.pem -signkey rsa_private_key.pem -out certificate.pem
    

4. 查看证书信息

  • 查看证书详情
    openssl x509 -in certificate.pem -text -noout
    

5. 加密和解密文件

  • 使用对称加密(AES-256-CBC)
    openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.bin
    openssl enc -d -aes-256-cbc -in encrypted.bin -out decrypted.txt
    
  • 使用非对称加密(RSA)
    openssl pkeyutl -encrypt -in plaintext.txt -out encrypted.bin -pubin -inkey rsa_public_key.pem
    openssl pkeyutl -decrypt -in encrypted.bin -out decrypted.txt -inkey rsa_private_key.pem
    

6. 签名和验证

  • 生成SHA256签名
    openssl dgst -sha256 -sign rsa_private_key.pem -out signature.bin plaintext.txt
    
  • 验证签名
    openssl dgst -sha256 -verify rsa_public_key.pem -signature signature.bin plaintext.txt
    

7. 生成随机数

  • 生成固定长度的随机数
    openssl rand -hex 32
    

8. 查看证书链

  • 检查证书链
    openssl s_client -connect example.com:443 -showcerts
    

9. 转换证书格式

  • 将PEM格式转换为DER格式
    openssl x509 -in certificate.pem -outform DER -out certificate.der
    
  • 将DER格式转换为PEM格式
    openssl x509 -in certificate.der -inform DER -outform PEM -out certificate.pem
    

10. 查看私钥信息

  • 检查私钥是否加密
    openssl rsa -in rsa_private_key.pem -check
    

注意事项

  • 执行这些命令时,请确保你有足够的权限,特别是涉及到敏感数据时。
  • 在生产环境中,建议使用更安全的加密算法和密钥长度。
  • 定期更新OpenSSL到最新版本以获取最新的安全补丁。

这些命令涵盖了OpenSSL的大部分常用功能,但在实际应用中可能还需要根据具体需求进行调整和扩展。

0