linux

Linux OpenSSL命令有哪些

小樊
33
2025-04-09 18:24:42
栏目: 云计算

Linux OpenSSL命令非常丰富,以下是一些常用的OpenSSL命令及其功能:

基础命令

  1. 查看版本

    openssl version
    
  2. 生成随机数

    openssl rand -base64 12
    
  3. 生成私钥

    openssl genrsa -out private.key 2048
    
  4. 生成公钥

    openssl rsa -in private.key -pubout -out public.key
    
  5. 生成证书签名请求(CSR)

    openssl req -new -key private.key -out request.csr
    
  6. 自签名证书

    openssl req -x509 -new -nodes -key private.key -sha256 -days 365 -out certificate.crt
    
  7. 验证证书

    openssl verify -CAfile ca.crt certificate.crt
    
  8. 加密文件

    openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt -pass pass:mypassword
    
  9. 解密文件

    openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt -pass pass:mypassword
    
  10. 查看证书信息

    openssl x509 -in certificate.crt -text -noout
    

SSL/TLS相关命令

  1. 测试SSL/TLS连接

    openssl s_client -connect example.com:443
    
  2. 获取服务器证书

    openssl s_client -connect example.com:443 -showcerts </dev/null 2>/dev/null | openssl x509 -outform PEM > example.com.pem
    
  3. 生成SSL/TLS配置文件

    openssl req -new -x509 -days 365 -nodes -out ca.crt -keyout ca.key
    openssl req -newkey rsa:2048 -days 365 -nodes -keyout server.key -out server.csr
    openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 365 -sha256
    

PKCS#12相关命令

  1. 生成PKCS#12文件

    openssl pkcs12 -export -in certificate.crt -inkey private.key -out keystore.p12 -name mycert
    
  2. 导入PKCS#12文件

    openssl pkcs12 -in keystore.p12 -out certificate.crt -clcerts -nokeys
    openssl pkcs12 -in keystore.p12 -out private.key -nocerts -nodes
    

其他有用的命令

  1. 生成Diffie-Hellman参数

    openssl dhparam -out dhparams.pem 2048
    
  2. 生成DSA密钥对

    openssl dsaparam -out dsaparam.pem 2048
    openssl gendsa -out dsa_private.key dsaparam.pem
    openssl dsa -in dsa_private.key -pubout -out dsa_public.pem
    
  3. 生成EC密钥对

    openssl ecparam -name secp384r1 -genkey -noout -out ec_private.key
    openssl ec -in ec_private.key -pubout -out ec_public.pem
    
  4. 签名数据

    openssl dgst -sha256 -sign private.key -out signature.bin data.txt
    
  5. 验证签名

    openssl dgst -sha256 -verify public.key -signature signature.bin data.txt
    

注意事项

以上只是OpenSSL命令的一部分,更多详细信息和高级用法可以参考OpenSSL的官方文档或使用man命令查看具体命令的手册页。

0
看了该问题的人还看了