AWS eb 的 SSL 证书复杂性

AWS eb 的 SSL 证书复杂性

我在用迪吉特购买 SSL 证书并根据需要为我提供不同的文件

  • DigiCertCA .crt .pem
  • star_evercam_io .crt .pem
  • 受信任根 .crt .pem

我完全不知道如何才能从中获得私钥。我需要做的是使用此命令将 SSL 证书发送到 AWS

aws iam upload-server-certificate --server-certificate-name myServerCertificate --certificate-body file://public_key_cert_file.pem --private-key file://my_private_key.pem --certificate-chain file://my_certificate_chain_file.pem

完全搞不清楚哪个文件应该放在哪里,以及如何从中创建私钥。任何熟悉这个问题的人请帮忙,我已经在这个话题上搜索了 3 周,但都是徒劳

PS:我尝试使用 Stackoverflow 上提到的许多命令创建私钥,但使用这些私钥时,我总是收到来自 aws 的错误,因为

A client error (KeyPairMismatch) occurred when calling the UploadServerCertificate operation: The private key did not match the public key provided. Please verify the key material and try again.

答案1

  1. 从购买 SSL 证书DigiCert
  2. 按照说明生成你的公钥/私钥
  3. 上传至AWS: aws iam upload-server-certificate --server-certificate-name <make-up-a-name> --certificate-body <public-key-file-path> --private-key <private-key-file-path> --certificate-chain <certificate-chain-path>

现在这里唯一可能混乱的部分是证书链。AWS 对其格式很挑剔。基本上它包含您提到的 3 个文件(DigiCertCA、star_evercam_io、TrustedRoot),它们都连接到一个长文本文件中。如果您遇到 aws 命令出现错误的情况,请发布另一个问题。

答案2

您无法从证书中创建或提取私钥;如果可以,SSL 就毫无意义了。您首先创建密钥,这是创建提交给 digicert 的 CSR 的先决条件,以便他们向您颁发证书。

因此,请返回到您创建 CSR 的机器和目录;私钥很可能就在那里的某个地方。

编辑: 作为digicert 自己的支持页面说:

在订购 SSL 证书之前,您必须首先为您的服务器生成 CSR(证书签名请求)。

如果你真的付了钱给他们,并且你的他们的证书,你必须已经生成了 CSR,这意味着生成了私钥(以及相应的公钥)。

如果你尚未生成并提交 CSR,那么无论你是否付款,你还没有证书- 您只获得了一组中间证书,这些证书(虽然稍后会用到)并不是您现在所需要的。请完成创建和提交 CSR 的过程,这样,您将创建私钥。

相关内容