前言
原文
Configure security certificates
在與不同的目標連線總會需要用到 certificate
App Service 提供了數種不同的方式來讓你管理你的 certificate
Option | Description |
---|---|
Create a free App Service managed certificate | 你可以為你的 App Service 的 custom domain 取得一個免費的 certificate |
Purchase an App Service certificate | 你也可以購買一個由 Azure 管理的 certificate,這會提供自動更新證書、匯出證書等管理選項 |
Import a certificate from Key Vault | 如果你的 Azure Key Vault 內有證書,你也可以從中 import |
Upload a private certificate | 如果你自己擁有 private certificate,你也可以匯入到你的 App Service 使用 |
Upload a public certificate | Public certificate 雖然不過應用到你的 custom domain 但你也可以匯入到你的 App Service 來連接到某些需要的 remote resources |
Private certificate requirements
App Service 對 private certificate 有幾項要求
如果你使用的是 App Service managed certificate
或是 App Service certificate
那麼恭喜你
你的 private certificate 就一定是符合要求的
如果不是的話,請確認你的 private certificate 符合以下所有的要求
- 使用 triple DES 加密的 password-protected PFX file
- 包含一個不短於 2048 bits 長的 private key
- 包含完整的證書鏈,包括所有的中介證書(intermediate certificate)及根證書(root certificate)
- 根證書(root certificate)
- 最上層的證書,由受信任的證書頒發機構發出,通常用來驗證所有下層的證書。
- 中介證書(intermediate certificate)
- 位於根證書及用戶證書之間,文要是用作將信任鏈從根證書延伸到用戶證書。
- 根證書(root certificate)
如果這個 private certificate 是被用作在 TLS 中保護自定義網域的話
它同時需要滿足以下條件
- 使用擴展密鑰用法(Extended Key Usage, EKU)指明證書會被用作驗證伺服器的身份(Server Authentication, i.e. OID:
1.3.6.1.5.5.7.3.1
) - 由受信任的證書頒發機構(Certificate Authority, CA)發出
Creating a free managed certificate
注意,如果你是要為你的 App 設置自訂 TLS/SSL 連結 (e.g. 啟用 HTTPS) 或啟用 client certificate (確保只有授權的用戶或設備才能存取) 的話
你的 App 必須是 Basic, Standard, Premium, 或 Isolated tier.
Free App Service managed certificate 可用作 TLS/SSL 伺服器憑證並用來保護你的自訂 DNS 名稱
Azure 會替你每六個月,在到期前 45 天自動更新你的 certificate
某些域名可能會要求你指明可簽發 certificate 的機構
而 Azure free certificate 都是由 DigiCert 簽發的
這時,你需要加入這個 CAA 記錄到 DNS 0 issue digicert.com
除此之外,free certificate 在使用上也有這些限制
- 不能使用 wildcard certificate
- 不能以證書指紋 (certificate fingerprint) 用作客戶證書 (client certificate)
- 不支援私人DNS (private DNS, 不對外開放的 DNS)
- 證書不能被導出
- 不支援 App Service Environment (ASE)
- 只技援英文字母、數字、破折號(-)、句號(.)
- 自訂域名(custom domain)的長度上限為 64 個字
Import an App Service Certificate
如果你在 Azure 買了一個 App Service Certificate
Azure 會幫你管理你的購買了的證書
- 替你從證書提供者(certificate provider)購買證書
- 完成證書的域名驗證(domain verification)
- 以 Azure Key Vault 維護你的證書 (可選)
- 管理證書更新
- 系統會自動將證書的更新或變更同步到所有已導入該證書的應用程序中
如果你已經購買了 App Service certificate,你可以
- 把證書匯入到你的 App Service
- 管理你的證書,例如續期(renew)、重新鑰匙(rekey)和導出(export)
發佈留言