- 概述
- 要求
- 安装
- 安装后
- 迁移和升级
- 监控和警示
- 集群管理
- 特定于产品的配置
- 故障排除
如何使用证书
使用 OpenSSL 命令对 EKS/AKS 上的 Automation Suite 验证、分离和合并证书。
描述
本节说明如何使用openssl命令来验证证书链(CA 证书、中间证书和服务器证书),以及如何分离或合并证书。
您可以按以下方式获取证书:
- 场景 1 :三个 crt/pem 文件,包括 CA 证书、中间证书、服务器证书和一个私钥。
- 场景 2 :两个 crt/pem 文件,其中包含 CA 证书和服务器证书以及一个私钥。
- 场景 3 :一个 pfx 文件,其中包含所有 CA 证书/中间证书和服务器证书以及私钥。
下表描述了使用的文件名:
| 文件名 | 描述 |
|---|---|
ca.crt | CA 证书。 |
intermediate.crt | 中间证书。 |
ca-bundle.crt | 包含 CA 证书和中间证书的证书。 |
server.crt | 服务器证书。 |
server.key | 用于生成server.crt的私钥。 |
server.pfx | 一个 pfx 证书文件,其中包含 CA 证书、中间证书、服务器证书和服务器私钥。 |
场景 1 和场景 2
当您带来三个不同的证书文件(CA 文件、中间证书和服务器文件)时,请执行以下步骤进行验证:
-
将 CA 与中间证书合并(仅适用于场景 1)。
cp ca.crt ca-bundle.crt cat intermediate.crt >> ca-bundle.crtcp ca.crt ca-bundle.crt cat intermediate.crt >> ca-bundle.crt -
检查服务器证书包含(尤其是
subject alternative names和validity字段)。openssl x509 -in server.crt -text -nooutopenssl x509 -in server.crt -text -noout -
检查服务器证书是否由 CA 服务器签名。
openssl verify -CAfile ca-bundle.crt server.crtopenssl verify -CAfile ca-bundle.crt server.crt输出:
server.crt: OKserver.crt: OK -
通过比较 md5 哈希值,检查服务器证书是否由服务器私钥生成。如果以下命令的输出匹配,则它会验证服务器证书是否是使用私钥生成的。
-
openssl x509 -noout -modulus -in server.crt | openssl md5服务器证书输出:
(stdin)= c9b0c5c3fe11b0b09947415236c4a441 -
openssl rsa -noout -modulus -in server.key | openssl md5服务器私钥输出:
stdin)= c9b0c5c3fe11b0b09947415236c4a441)
-
-
根据服务器证书和私钥生成 pfx 文件。运行以下命令后,系统将提示您键入密码两次。解密 pfx 文件时始终需要密码。
openssl pkcs12 -inkey server.key -in server.crt -export -out server.pfxopenssl pkcs12 -inkey server.key -in server.crt -export -out server.pfx输出:
Enter Export Password: Verifying - Enter Export Password:Enter Export Password: Verifying - Enter Export Password:
场景 3
当您使用包含 CA、中间证书、服务器和私钥的 pfx 格式证书时,可以使用 pfx 文件作为身份令牌签名证书,但必须将 pfx 文件拆分为多个证书文件。以下步骤相应地描述了如何中断 pfx 文件。
-
导出 CA 证书(包括 pfx 文件中提供的中间证书):
openssl pkcs12 -in server.pfx -cacerts -nokeys -chain | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ca.crtopenssl pkcs12 -in server.pfx -cacerts -nokeys -chain | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ca.crt -
导出服务器证书:
openssl pkcs12 -in server.pfx -clcerts -nokeys | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > server.crtopenssl pkcs12 -in server.pfx -clcerts -nokeys | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > server.crt -
导出私钥:
openssl pkcs12 -in server.pfx -nocerts -nodes | sed -ne '/-BEGIN PRIVATE KEY-/,/-END PRIVATE KEY-/p' > server.keyopenssl pkcs12 -in server.pfx -nocerts -nodes | sed -ne '/-BEGIN PRIVATE KEY-/,/-END PRIVATE KEY-/p' > server.key