openssl的各种命令介绍

openssl 中 ec, pkey, x509, rsa 命令

  1. ec命令

    • 专门用于处理椭圆曲线(EC)密钥
    • 可以生成EC密钥对
    • 可以转换EC密钥的格式
    • 可以显示EC密钥的详细信息
  2. pkey命令

    • 是一个通用的密钥处理工具
    • 可以处理多种类型的密钥(RSA、EC、DSA等)
    • 提供密钥格式转换、导入导出等功能
    • 更现代,推荐使用
  3. x509命令

    • 用于处理X.509证书
    • 可以显示证书信息
    • 可以转换证书格式
    • 可以验证证书
  4. rsa命令

    • 专门用于处理RSA密钥
    • 类似于ec命令,但专注于RSA算法

使用建议:

  • 对于新的应用开发,建议使用更通用的pkey命令
  • 如果需要特定算法的特殊功能,可以使用对应的专用命令(如ecrsa
  • 证书操作主要使用x509命令

例如,查看EC密钥信息可以使用:

1
2
3
openssl ec -in key.pem -text -noout
# 或者使用更通用的
openssl pkey -in key.pem -text -noout

这些命令都是OpenSSL工具集的一部分,各自针对不同的用途和场景。选择使用哪个命令主要取决于具体需求和处理的密钥/证书类型。

openSSL s_client 命令

s_client 是 OpenSSL 的一个命令行客户端工具,主要用于测试和调试 SSL/TLS 连接。它的主要功能包括:

  1. 建立 SSL/TLS 连接
1
openssl s_client -connect hostname:port

这个命令可以连接到指定的 SSL/TLS 服务器。

  1. 主要用途
  • 测试 SSL/TLS 服务器配置
  • 查看服务器证书信息
  • 调试 SSL/TLS 连接问题
  • 验证证书链
  • 测试不同的 SSL/TLS 协议版本
  1. 常用选项
  • -showcerts:显示完整的证书链
  • -servername:指定 SNI(服务器名称指示)
  • -tls1_2:强制使用 TLS 1.2
  • -verify:验证服务器证书
  1. 实际应用示例
1
2
3
4
5
6
7
8
# 查看网站的证书信息
openssl s_client -connect www.example.com:443

# 显示完整证书链
openssl s_client -connect www.example.com:443 -showcerts

# 指定 SNI
openssl s_client -connect www.example.com:443 -servername www.example.com

这个工具对于系统管理员和开发人员来说非常有用,特别是在诊断 SSL/TLS 相关问题时。它可以帮助:

  • 验证 SSL/TLS 配置
  • 检查证书问题
  • 测试 SSL/TLS 握手过程
  • 调试连接问题

openssl的各种命令介绍
https://dnacore.github.io/post/460af7fa-86a3-4aff-97fd-b9bcc23f817c.html
作者
DNACore
发布于
2024年12月22日
更新于
2024年12月22日
许可协议