Amazon-Web-Services

在 AWS 上安裝 SSL 證書

  • October 14, 2020

我從 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

  1. 轉到亞馬遜證書管理器
  2. 創建一個從屬CA(我不知道為什麼)

2.1。輸入您的詳細資訊,而不是 Go Daddy 的詳細資訊。

2.2. 接受以下所有頁面的預設設置並創建 3. 安裝從屬 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 負載均衡器

我的問題是。

  1. 我對申請 SSL 證書過程的理解正確嗎?
  2. 從頭開始將 SSL 證書應用於 AWS 的正確方法是什麼?

什麼時候

我還沒有閱讀您的 aws 文件連結,但我已經多次在 AWS ELB、EC2 VM、apache httpd 上申請了證書。如果您覺得這聽起來不簡單,您不必遵循 aws 指南。你可以用老式的方法來做。我就是這樣做的。您在 Linux 伺服器和私鑰中使用 openssl 命令創建 CSR,然後從 go daddy 獲取該 CSR 的簽名 SSL。稍後您可以在 AWS ACM 中導入證書和私有密鑰。您可以稍後將其用於 ELB 或直接在 Web 伺服器中應用此證書和密鑰。是不是很簡單。網際網路上有很多關於如何使用 openssl 和私鑰生成 CSR 的教程,您可以通過您最喜歡的網路搜尋引擎(如 google)獲得這些教程。所以我不打算重複這些步驟。我留給你看看你是否還不知道。

引用自:https://serverfault.com/questions/1038640