让我们进入 OpenSSL 的世界,它是您保护在线数据的可靠盟友!无论您是初学者还是有一定经验,本文都是您了解最常见 OpenSSL 命令的简单指南
我将介绍 CSR 和密钥生成、证书管理、转换证书格式等。继续关注我们,很快您就会像专业人士一样使用 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 的复杂性。