>  SSL数字证书问答  > 最常见的 OpenSSL 命令:基本内容

最常见的 OpenSSL 命令:基本内容

2024-11-08

让我们进入 OpenSSL 的世界,它是您保护在线数据的可靠盟友!无论您是初学者还是有一定经验,本文都是您了解最常见 OpenSSL 命令的简单指南

我将介绍 CSR 和密钥生成、证书管理、转换证书格式等。继续关注我们,很快您就会像专业人士一样使用 OpenSSL!

常规 OpenSSL 命令

开始您的OpenSSL之旅,确保您的系统上已安装 OpenSSL,并了解其版本。这些基本命令是您掌握 OpenSSL 的第一步。

检查 Linux 上是否安装了 OpenSSL

对于使用 rpm 包的 GNU/Linux 发行版:

rpm -qa | grep -i openssl

对于使用 deb 包的 GNU/Linux 发行版:

dpkg -l | grep -i openssl

对于 Arch Linux 使用:

pacman -Q openssl

检查 OpenSSL 版本

openssl version –a

管理企业社会责任

创建和管理证书签名请求 (CSR)在 SSL 流程中至关重要。了解如何生成 CSR、处理无提示 CSR 生成、验证其详细信息等。

为现有私钥生成 CSR

openssl req -new -key yourKey.key -out yourCSR.csr

执行命令后,系统会向您显示一系列问题。您提供的答案将被纳入 CSR。

生成 CSR 时禁用问题提示

使用此命令并附带具体详细信息,即可生成 CSR,而无需输入信息。

openssl req -new -key yourKey.key -out yourCSR.csr \

-subj “/C=US/ST=Utah/L=Lehi/O=Your Company, Inc./OU=IT/CN=yourdomain.com”

查看 CSR 信息

在将 CSR 发送到证书颁发机构之前,使用此 OpenSSL 命令验证 CSR 是否包含正确的信息。

openssl req -text -in yourCSR.csr -noout –verify

根据现有证书生成 CSR

openssl x509 -x509toreq -in yourCertificate.crt -out yourCSR.csr -signkey yourPrivateKey.key

将 CSR 发送给 CA

使用此命令显示并复制您的 CSR 以提交给证书颁发机构。

cat yourCSR.csr

管理私钥和公钥

了解在 OpenSSL 中处理私钥的来龙去脉。本节涵盖所有与密钥相关的基本知识,从生成到解码和管理密码。

使用 OpenSSL 生成私钥

使用RSA 算法创建一个新的私钥,并使用此命令指定密钥大小。

openssl genrsa -out yourPrivateKey.key 2048

要生成私钥,请指定密钥算法、密钥大小和可选密码。标准密钥算法是 RSA,但您也可以针对特定情况选择 ECDSA。

使用 RSA 密钥算法时,密钥大小应选择 2048 位;使用 ECDSA 算法时,密钥大小应选择 256 位。低于 2048 的任何密钥大小都不安全,而较高的值可能会降低性能。

最后,你应该决定是否需要为你的私钥设置密码。请注意,某些服务器不接受带有密码的私钥。

准备好生成私钥(使用 RSA 算法)后,运行以下命令:

查看私钥信息

cat yourPrivateKey.key

解码私钥

使用此命令解码并以文本格式显示您的私钥。

openssl rsa -text -in yourPrivateKey.key -noout

从私钥中提取公钥

openssl rsa -in yourPrivateKey.key -pubout -out yourPublicKey.key

立即创建您的私钥和 CSR

openssl req -out yourCSR.csr -new -newkey rsa:2048 -nodes -keyout yourPrivateKey.key

此命令生成没有密码的私钥(-keyout yourPrivateKey.key)和 CSR 代码(-out yourCSR.csr)。

从私钥中删除密码

openssl rsa -in yourPrivateKey.pem -out yourNewPrivateKey.pem

检查私钥

使用此命令验证私钥的完整性和正确性。

openssl rsa -in yourPrivateKey.key -check

使用 OpenSSL 验证证书、私钥和 CSR 之间的一致性

验证证书是否与私钥或 CSR 匹配:

openssl x509 -noout -modulus -in certificate.crt | openssl md5

确保私钥与特定的 SSL 证书或 CSR 正确对应:

openssl rsa -noout -modulus -in privateKey.key | openssl md5

确认 CSR 与私钥匹配并且适合特定证书:

openssl req -noout -modulus -in CSR.csr | openssl md5

管理证书

了解如何使用 OpenSSL 命令检查、生成和验证 SSL/TLS 证书,包括检查 SSL 连接以确保通信通道的安全。

在 OpenSSL 中检查证书

使用此命令检查 SSL 证书的详细信息。

openssl x509 -text -in yourCertificate.crt –noout

生成自签名证书

req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout yourPrivateKey.key -out yourdomain.crt

检查 SSL 连接

使用此命令来测试和诊断与服务器的 SSL 连接。

openssl s_client -connect www.yoursite.com:443

转换 SSL 文件

探索 OpenSSL 在转换SSL 文件格式方面的灵活性。本节将指导您使用 OpenSSL 命令在不同文件类型(如 DER、PEM 和 PKCS#12)之间进行转换。

DER 转 PEM

openssl x509 -inform der -in yourCertificate.cer -out yourCertificate.pem

从 PEM 到 DER

openssl x509 -outform der -in yourCertificate.pem -out yourCertificate.der

PKCS#12 到 PEM

openssl pkcs12 -in yourKeyStore.pfx -out yourKeyStore.pem -nodes

PEM 到 PKCS#12

openssl pkcs12 -export -out yourCertificate.pfx -inkey yourPrivateKey.key -in yourCertificate.crt -certfile yourCACert.crt

总结

掌握最常见的 OpenSSL 命令对于提高您的数字安全技能至关重要。

从生成 CSR 和管理密钥到转换证书,我们所涵盖的命令将为您提供必要的知识,让您自信地应对 OpenSSL 的复杂性。