我在用迪吉特购买 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
- 从购买 SSL 证书DigiCert
- 按照说明生成你的公钥/私钥
- 上传至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 的过程,这样,您将创建私钥。