我从 Go Daddy 购买了 SSL 证书,并将我的网站托管在一个在 AWS 上运行 nginx 的 linux 实例上。
我正在尝试将 SSL 证书安装到我在 AWS 上的实例上
这是我对这个过程如何运作的理解。
为了获得 SSL 证书,我必须创建一个 CSR,在创建 CSR 时还会创建一个私钥。我将我的 CSR 提交给我的 CA(Go Daddy),他们使用它来创建我的证书和我的证书链。然后我将证书、证书链和私钥放入我的服务器中,仅此而已。
有两种方法可以做到这一点,直接在服务器上或通过 AWS。我正在尝试在 AWS 上做到这一点。
https://sg.godaddy.com/help/manually-install-an-ssl-certificate-on-my-aws-server-32075
本教程假设我已经拥有 CSR 和私钥,但我没有。
所以我尝试了以下方法来获得 CSR
https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaGetCsr.html
https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaCreateCa.html
转到亚马逊证书管理器
创建一个从属CA(我不知道为什么)
2.1。输入您的详细信息,而不是 Go Daddy 的详细信息。
2.2. 接受以下所有页面的默认设置并创建
安装从属 CA 证书 3.1 选择外部私有 CA
3.2 此页面为您提供此 CA 的 CSR,将 CSR 复制并粘贴到 Go Daddy 以将 Go Daddy 的证书密钥到我的服务器
3.3 从 go daddy 下载新密钥的 SSL 证书,将 bundle 文件放在证书链字段中,将其他文件放在证书正文字段中
现在我明白了
MalformedCertificateException:基本约束扩展必须指定证书用于 CA。”
我显然在这里做错了什么。错误消息似乎我误解了这个亚马逊功能的目的。
我只有一个 CSR 我没有私钥。
遵循本指南时
https://sg.godaddy.com/help/manually-install-an-ssl-certificate-on-my-aws-server-32075
我进入第 8 步,但我没有私钥文件。
在做了一些研究后,我发现了这些
https://superuser.com/a/1428640
https://serverfault.com/a/919007/596551
这表示我永远不会从这种方法中获得私钥,这让我回到第一方,没有 CSR 也没有私钥,因此无法生成证书。但是,根据第一个链接,我使用的是 Amazon 负载均衡器
我的问题是。
- 我对申请 SSL 证书过程的理解正确吗?
- 从头开始将 SSL 证书应用于 AWS 的正确方法是什么?
什么时候
我还没有阅读您的 aws 文档链接,但我已经多次在 AWS ELB、EC2 VM、apache httpd 上申请了证书。如果您觉得这听起来不简单,您不必遵循 aws 指南。你可以用老式的方法来做。我就是这样做的。您在 Linux 服务器和私钥中使用 openssl 命令创建 CSR,然后从 go daddy 获取该 CSR 的签名 SSL。稍后您可以在 AWS ACM 中导入证书和私有密钥。您可以稍后将其用于 ELB 或直接在 Web 服务器中应用此证书和密钥。是不是很简单。互联网上有很多关于如何使用 openssl 和私钥生成 CSR 的教程,您可以通过您最喜欢的网络搜索引擎(如 google)获得这些教程。所以我不打算重复这些步骤。我留给你看看你是否还不知道。