OpenSSL 是一个开源的软件库,它包含了一个通用的加密库(libcrypto)和一个用于创建安全通信通道的协议(SSL/TLS)。OpenSSL 广泛用于实现网络安全层,如 HTTPS、FTPS、IMAPS、SMTPS 等。

以下是一些常见的 OpenSSL 命令和用途:

  1. 生成密钥对

    openssl genrsa -out private_key.pem 2048

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

    openssl req -new -key private_key.pem -out csr.pem

  3. 生成自签名证书

    openssl x509 -req -days 365 -in csr.pem -signkey private_key.pem -out certificate.pem

  4. 生成证书链

    cat certificate.pem intermediate.pem > chain.pem

  5. 加密和解密文件

    openssl enc -aes-256-cbc -in plaintext.txt -out encrypted.txt -pass pass:mysecret
    openssl enc -aes-256-cbc -d -in encrypted.txt -out decrypted.txt -pass pass:mysecret

  6. 生成 Diffie-Hellman 参数

    openssl dhparam -out dhparam.pem 2048

  7. 验证证书

    openssl verify -CAfile ca_certificate.pem certificate.pem

  8. 查看证书信息

    openssl x509 -in certificate.pem -text -noout

  9. 生成随机数

    openssl rand -hex 16

  10. SSL/TLS 服务器和客户端测试

    openssl s_server -key private_key.pem -cert certificate.pem
    openssl s_client -connect server:port

这些只是 OpenSSL 功能的一部分。它还支持许多其他加密算法和协议,适用于各种安全需求。如果你有特定的 OpenSSL 问题或需求,可以详细说明,我会尽力提供帮助。