附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱開始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 憑證、租用戶及區間的範例值。完成實驗室時,請以雲端環境特有的值取代這些值。
使用 OCI Certificates Service 發出代管於 IIS 伺服器之網站的內部憑證
簡介
Oracle Cloud Infrastructure (OCI) Certificates 是一項用於建立及管理傳輸層安全 (TLS) 憑證的服務。此服務可讓組織建立私有憑證授權機構 (CA) 階層和 TLS 憑證,以便在客戶租用戶中自動部署和續約,並與 OCI 負載平衡器和 OCI API 閘道等 OCI 服務整合。我們也可以使用此服務為網際網路資訊服務 (IIS)、Apache 或 nginx 代管的內部 Web 伺服器產生憑證。
目標
在本教學課程中,我們會描述如何使用 OCI Certificates 發出內部憑證,以用於在 Windows IIS 伺服器上代管 TLS/SSL 保護的網站。我們將討論兩個選項。
-
在我們的 IIS 伺服器上建立憑證簽署要求 (CSR),供 OCI Certificates 使用,將憑證核發給我們的 IIS 伺服器。CSR 是取得數位憑證最安全的方式。將 CSR 視為您在申請憑證時填寫的數位表單。它包含證明您身分的重要資訊,並建立您線上存在的合法性。
-
使用 OCI Certificates CA 直接核發憑證 (不產生 CSR)。如果您不想管理私密金鑰並將該管理交給 CA,我們可以使用此方法取得 CA 所核發的憑證以及私密金鑰。不過,建議您使用 CSR 的方式,因為私密金鑰是在您產生 CSR 的伺服器上產生,且永不離開伺服器。
必要條件
-
使用管理 OCI 憑證和 OCI 保存庫的權限存取 OCI 主控台。
-
具備您網站設定的 IIS 伺服器,由支援的 Windows 伺服器代管,並具備此伺服器的管理存取權。
注意:請勿輸入機密資訊。
作業 1:建立憑證授權機構
不論是使用 CSR 或直接由 OCI Certificates CA 發行憑證,我們都需要建立 CA。如需如何設定 CA 的詳細資訊,請參閱 Creating a Certificate Authority 。
使用 OCI 憑證建立根 CA 或從屬 CA。您必須要有根 CA 才能建立從屬 CA。單一層級階層是由一個 CA 所組成。單一 CA 同時為根 CA 和核發 CA。根 CA 是 PKI 信任起點的名詞。信任根 CA 的所有應用程式、使用者或電腦,都信任 CA 階層所發出的任何憑證。核發 CA 是核發憑證給最終實體的 CA。不過,兩層階層是滿足大多數公司需求的設計。在此設計中,有一個根 CA 和一個從屬 CA 發行。增加安全等級,因為 root CA 和發出 CA 角色是分開的。建立 CA 需要您可以存取 OCI 保存庫中現有的受硬體保護非對稱加密金鑰。如需詳細資訊,請參閱 OCI Vault 概要。
-
開啟導覽功能表,然後按一下識別與安全。
-
在憑證底下,按一下憑證授權單位。
-
按一下建立憑證授權機構。
-
按一下區間,然後選取要建立 CA 的區間。
-
在憑證授權機構類型下,從下列選項中選取 CA 類型。
-
根憑證授權機構:CA 位於 CA 鏈中階層頂端的 CA。
-
從屬憑證授權機構:在包含其他 CA 的階層中,不是根 CA 的任何 CA。
-
-
輸入 CA 的顯示名稱。此名稱可協助您識別 CA 以進行管理,但是不會顯示為 CA 憑證的一部分。
-
(選擇性) 輸入協助識別 CA 的描述。此描述可協助您識別 CA,但不會顯示為 CA 憑證的一部分。
-
(選擇性) 若要套用標記,請按一下顯示標記。如需詳細資訊,請參閱資源標記,然後按一下下一步。
-
輸入主旨資訊,其中至少包含一個通用名稱以識別 CA 憑證的擁有者。視憑證的預定用途而定,主旨可能會識別人員、組織或電腦端點。主體資訊的格式必須符合 RFC 5280 標準。您可以使用萬用字元發出多個網域或子網域名稱的憑證。
-
(選擇性) 輸入更多 CA 主旨資訊,按一下顯示其他欄位。如需有關主體辨別名稱中每個值的詳細資訊,請按一下下一步。
-
(選擇性) 按一下無效期限,然後指定要開始使用 CA 的 UTC 時間與日期。如果您未指定日期,則 CA 有效期間會立即開始。
-
按一下之後無效,然後指定 CA 無法再用來發出或驗證從屬 CA 或憑證的日期。
注意:您必須至少指定一個晚於有效期間開始日期的日期。您無法指定晚於 2037 年 12 月 31 日的日期。值會進位至最接近的秒數。
-
如果您在「發行者憑證授權機構」底下建立從屬 CA,請指定發行此 CA 的父項 CA。如果您建立根 CA,請繼續下一個步驟。
-
在金鑰保存庫下,選取包含要用於 CA 憑證之加密金鑰的保存庫。選擇性地按一下變更區間以指定其他區間。
-
在金鑰下,選取 Vault 中要使用的金鑰。此清單僅包括 Vault 中的非對稱金鑰,因為憑證僅支援非對稱金鑰。您可以從 2048 位元或 4096 位元的 Rivest-Shamir-Adleman (RSA) 金鑰中選擇。您也可以選擇橢圓曲線數位簽章演算法 (ECDSA) 金鑰,其橢圓曲線 ID 為 NIST_P384。具體而言,此清單只包含受硬體安全模組 (HSM) 保護的這些類型非對稱金鑰。憑證不支援使用受軟體保護的金鑰。
-
在簽署演算法下,根據金鑰演算法系列選取下列其中一個選項,然後按下一步。
-
SHA256_WITH_RSA:具有 SHA-256 雜湊功能的 RSA 金鑰
-
SHA384_WITH_RSA:具有 SHA-384 雜湊功能的 RSA 金鑰
-
SHA512_WITH_RSA:具有 SHA-512 雜湊功能的 RSA 金鑰
-
SHA256_WITH_ECDSA:含有 SHA-256 雜湊功能的 ECDSA 金鑰
-
SHA384_WITH_ECDSA:含有 SHA-384 雜湊功能的 ECDSA 金鑰
-
SHA512_WITH_ECDSA:含有 SHA-512 雜湊功能的 ECDSA 金鑰
-
-
設定到期規則。在憑證的有效性持續時間上限 (天) 下,指定此 CA 發行之憑證的有效天數上限。我們強烈建議的有效期間不超過 90 天。
-
在從屬 CA 的有效性持續時間上限 (天) 下,指定此 CA 發出的 CA 可有效發出其他 CA 或憑證的天數上限,然後按一下下一步。
-
在撤銷組態頁面中,如果您不想設定憑證撤銷清單 (CRL),請選取略過撤銷核取方塊。若要設定憑證撤銷,請清除核取方塊,然後指定要儲存 CRL 的專用 OCI 物件儲存的儲存桶。
-
(選擇性) 按一下變更區間,在不同的區間中尋找儲存桶。
-
在物件名稱格式下,指定物件名稱。您可以在物件名稱中包含大括號,指示服務可以插入發出 CA 版本號碼的位置。當您建立其他 CA 版本時,此附加有助於避免覆寫現有的 CRL。
-
(選擇性) 在自訂格式化 URL 下,提供您要與 API 搭配使用的 URL 以存取物件。這個網址以憑證命名是 CRL 發布點 (CDP) 。您可以在 URL 中包含大括號,以指出服務可插入核發 CA 版本號碼的位置。如此一來,當您建立另一個 CA 版本時,便可避免覆寫現有的 CDP。只有在 HTTPS 鏈結驗證中沒有循環相依性時,才能指定 HTTPS URL。
-
(選擇性) 若要提供其他 CDP,請按一下 + 其他 URL ,然後提供使用者可存取 CRL 的另一個 URL,然後按一下下一步。
-
複查資訊,然後按一下建立憑證授權機構。
建立憑證相關資源可能需要一些時間。建立 CA 後,您可以使用下列兩種方法之一來取得為 IIS 伺服器發出的憑證。
作業 2:取得使用 CSR 核發的憑證
在 IIS 伺服器上建立 CSR,同時會在同一個伺服器上建立私密金鑰。這是一個建議的方法,為我們提供標準化的方式來傳送 CA 您的公開金鑰,以及一些識別貴公司和網域名稱的資訊。
-
使用 IIS 建立 CSR 時,您必須前往 Internet Information Services (IIS) Manager ,然後在連線功能表下,按一下伺服器名稱,然後按一下伺服器憑證。

-
在動作功能表中,按一下建立憑證要求 ... 並輸入如下所示的所有詳細資訊,然後按下一步。


-
在加密服務提供者特性中,輸入下列資訊,然後按一下下一步。

(加密提供者類型是共用資料格式和加密協定的加密服務提供者系列。資料格式包括演算法填補配置、金鑰長度和預設模式。)
Microsoft RSA SChannel 加密提供者是建議的 CSP,除非您有理由使用任何其他值,否則應該使用它。它支援雜湊、資料簽署以及簽章驗證。位元長度決定了憑證的加密強度:長度越長,安全性越強。建議使用 2048 以提高安全性 。
-
在檔案名稱頁面的指定憑證要求的檔案名稱底下,按一下 ... 以瀏覽至要儲存 CSR 的位置 (將檔案儲存為
.pem),此位置目前包含 IIS 部分。
-
我們必須登入 OCI 租用戶並匯入此 CSR。藉由將 CSR 檔案設為
.pem格式,您可以前往 OCI Certificates services 、 Certificate Authority 、 Certificates 、 Create Certificate ,然後選取 Internal CA 發放,由外部管理,然後輸入必要的詳細資訊,如下所示。
-
在憑證組態頁面中,您必須上傳以
.pem格式的工作 2.5 建立的 CSR 檔案,按一下下一步,然後按一下建立憑證。

-
現在我們需要建立憑證的
.cer,此憑證可用於 IIS 伺服器以完成 CSR。.cer檔案可從 OCI 主控台從身分識別與安全性、憑證、憑證直接取得。按一下檢視內容並下載憑證pem和certificate-chain-pem的內容,然後結合兩者的內容與檔案頂端的certificate-pem和底部的certificate-chain-pem來建立單一檔案 (請確定將產生的檔案儲存為.cer)。 -
完成後,您可以再次前往 IIS 伺服器,按一下完成憑證要求並提供您在上方建立的
.cer檔案並提供易記的名稱,然後按下一步。


-
您將能夠查看 IIS 中伺服器憑證底下的憑證,並可藉由修改網站上的連結,用於 IIS 代管的網站。編輯網站連結,然後選擇已安裝的憑證。

工作 3:從 OCI 憑證服務建立沒有 CSR 的憑證
在此方法中,您會將私密金鑰的管理交給憑證授權機構。一般而言,CSR 是從 CA 取得憑證的最建議方式。如果您因任何原因無法取得 CSR,而想要取得憑證,您可以使用此方法。我們將使用以上創建的 CA 向 IIS 託管的網站發行證書。我們會在簽發憑證時提供一些重要資訊,例如網站的「主旨名稱」(iistest.com 代表我的情況)、「憑證設定檔」類型、「金鑰演算法」以及要使用的 CA。
-
瀏覽至 OCI 主控台,然後按一下識別與安全。
-
在憑證底下,按一下憑證,然後按一下建立憑證。
-
在區間下,選取您要建立憑證的區間。憑證可以存在於與 CA 相同的區間中,也可以存在其他憑證。
-
在憑證類型底下,若要從同時管理憑證的 OCI Certificates CA 發出憑證,請按一下由內部 CA 發行。
-
輸入憑證的顯示名稱。
-
(選擇性) 輸入描述以協助識別憑證。
-
(選擇性) 若要套用標記,請按一下顯示標記,然後按下一步。
-
輸入主旨資訊 (包含通用名稱) 以識別憑證的擁有者。視憑證的預定用途而定,主旨可能會識別人員、組織或電腦端點。主旨資訊也可以包含 DNS 名稱或 IP 位址,作為憑證持有人也可辨識的主體替代名稱。您可以使用萬用字元發出多個網域或子網域名稱的憑證。建立憑證時,請同時指定通用名稱和 DNS 名稱 (在 SAN 之下)。(有些瀏覽器會忽略一般名稱,並使用主旨名稱或 SAN 名稱來評估主旨資訊。)
-
(選擇性) 若要新增更多主旨替代名稱,請按一下 + 其他主旨替代名稱,選擇地址類型,輸入名稱,然後按下一步。
-
根據憑證的預定用途,從下列設定檔中選取憑證設定檔類型。
-
TLS 伺服器或從屬端:由 TLS/SSL 連線的伺服器或從屬端提供。
-
TLS 伺服器:由伺服器提供 TLS/SSL 連線。
-
TLS 從屬端:從屬端在 TLS/SSL 連線期間提供。
-
TLS 代碼簽名:由程式提供以驗證其簽名。
由於我們正在發出伺服器的憑證,因此應該在此處選擇 TLS 伺服器設定檔類型。
-
-
若要變更發出憑證的 CA,請按一下發行者憑證授權機構,然後選取 CA。如有需要,請按一下變更區間,然後選擇其他區間 (如果 CA 與您為憑證選取的區間不同)。
-
(選擇性) 按一下之前無效,然後輸入一個日期,此日期之前不能使用憑證來驗證其持有人的身分。如果您未指定日期,憑證有效期間就會立即開始。值會進位至最接近的秒數。
-
按一下無效期限,然後變更憑證不再有效證明其持有人身分的日期。您必須指定至少晚於有效期間開始日期的一天日期。日期不得超過核發 CA 的到期日。您也不能指定晚於 2037 年 12 月 31 日的日期。值會進位至最接近的秒數。通常,除非需要撤銷憑證,否則憑證會整段有效期間使用。
-
對於「金鑰演算法」,請從下列選項中選取憑證金鑰組所需的演算法和金鑰長度組合。
-
RSA2048:Rivest-Shamir-Adleman (RSA) 2048 位元金鑰
-
RSA4096:RSA 4096 位元金鑰
-
ECDSA_P256:含有 P256 曲線 ID 的 ECDSA 金鑰
-
ECDSA_P384:含有 P384 曲線 ID 的 ECDSA 金鑰
-
-
(選擇性) 按一下顯示其他欄位,然後在簽名演算法下,根據索引鍵選擇下列其中一個簽署演算法,然後按下一步。
-
SHA256_WITH_RSA:具有 SHA-256 雜湊功能的 Rivest-Shamir-Adleman (RSA) 金鑰
-
SHA384_WITH_RSA:具有 SHA-384 雜湊功能的 RSA 金鑰
-
SHA512_WITH_RSA:具有 SHA-512 雜湊功能的 RSA 金鑰
-
SHA256_WITH_ECDSA:含有 SHA-256 雜湊功能的 ECDSA 金鑰
-
SHA384_WITH_ECDSA:含有 SHA-384 雜湊功能的 ECDSA 金鑰
-
SHA512_WITH_ECDSA:含有 SHA-512 雜湊功能的 ECDSA 金鑰
-
-
若要設定自動更新憑證以避免使用中斷,請為下列設定值指定非零的值,然後按一下下一步。
-
更新間隔 (天) :更新憑證的頻率。
-
進階更新期間 (天) :憑證到期前進行更新的天數。
為了獲得足夠的彈性,請在憑證的有效性期間結束之前更新憑證,並在失敗時提供足夠的預續時間。服務順利續約之前到期的憑證可能會導致服務中斷。
注意:將不會自動更新 IIS 伺服器上的憑證。您需要擷取新版本的憑證,並在憑證到期時再次重新上傳至 IIS 伺服器。
-
-
複查所有資訊,然後按一下建立憑證。
-
建立憑證之後,我們需要建立可在 IIS 伺服器上安裝的憑證
.pem。若要建立.pem檔案,我們需要擷取上面建立之憑證的cert.pem和專用key.pem。您可以從 OCI 主控台直接從 Identity and Security 、 Certificates 、 Certificate 、 View Content 取得cert.pem,然後下載憑證pem和certificate-chain-pem的內容,然後將兩者的內容與檔案頂端的certificate-pem和底端的certificate-chain-pem結合以建立單一檔案。若要擷取私密金鑰,可以使用我們自己的 OCI Cloud Shell 的 OCI CLI 並執行下列命令。oci certificates certificate-bundle get --certificate-id=ocid1.certificate.XXXXXXX --bundle-type=CERTIFICATE_CONTENT_WITH_PRIVATE_KEY -
您必須複製命令輸出之資料區段下的
private-key-pem內容,並將其另存為.pem檔案 (例如private.pem)。我們擁有cert.pem和private.pem檔案之後,就可以使用 OpenSSL 產生.pfx檔案。複製private-key-pem檔案的內容時,您可能需要移除\n字元,因為它會造成某些格式問題。注意:OCI CLI、OpenSSL 以及其他許多工具都已預先安裝在 OCI Cloud Shell 中,可用來輕鬆執行這些作業。
私密金鑰
.pem檔案看起來應該和下列類似:
-
您可以使用下列指令擷取
.pem檔案。使用原生 OCI Cloud Shell 執行所有這些命令,並為您的私密金鑰提供安全的密碼。匯入.pem時需要此密碼。openssl pkcs12 -inkey priv.pem -in cert.pem -export -out iis.pem此
iis.pem檔案需要複製到 IIS 伺服器。我們需要將此iis.pem匯入 IIS 伺服器的本機機器憑證存放區中。我已經安裝 IIS 並建立示範網站。匯入憑證之後,我可以前往由 IIS 代管的網站,編輯網站連結並選擇已安裝的憑證。現在我們已經準備好使用 https (安全 http) 測試網站了。
作業 4:使用安全 Http (https) 測試 IIS 代管的網站
我們使用了基本的 Hello World 網站來展示這個示範,並將根 CA 憑證 (可從 Certificate-chain-pem 匯出) 置於本機機器憑證儲存庫的 Trusted Root Certification Authority 資料夾中,用來存取此網站的用戶端機器。這是因為 OCI Certificates 所建立的 CA 是私密 CA,因此不受瀏覽器信任,因此我們必須在嘗試存取網站的所有本機機器上新增根 CA 和中繼 CA (若有使用)。

相關連結
認可
- 作者 - Aqib Javid Bhat (資深雲端工程師)
其他學習資源
瀏覽 docs.oracle.com/learn 的其他實驗室,或前往 Oracle Learning YouTube 頻道存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Use OCI Certificates Service to Issue an Internal Certificate for Website Hosted on IIS Server
F91001-01
January 2024
Copyright © 2024, Oracle and/or its affiliates.