設定邊緣端的傳輸層安全標準 (TLS)/SSL

Edge for Private Cloud 4.16.05 版

TLS (傳輸層安全標準,前身為 SSL) 是標準安全技術,可確保 API 環境 (從應用程式到 Apigee Edge,再到後端服務) 的訊息安全且經過加密。

無論 Management API 的環境設定為何 (例如 Management API 前方是否使用 Proxy、路由器和/或負載平衡器),Edge 都能讓您啟用及設定 TLS,控管地端部署 API 管理環境中的訊息加密。

如要在地端部署安裝 Edge 私有雲,可以在多個位置設定 TLS:

  1. 路由器和訊息處理器之間
  2. 存取 Edge Management API
  3. 存取 Edge 管理 UI
  4. 應用程式存取 API
  5. 從 Edge 存取後端服務

以下說明如何為前三項設定 TLS。所有程序都假設您已建立 JKS 檔案,其中包含 TLS 憑證和私密金鑰。

如要設定 TLS,以便從應用程式存取 API (上述第 4 點),請參閱「設定 API 的 TLS 存取權 (私有雲)」。如要設定 TLS,以便從 Edge 存取後端服務 (上述第 5 點),請參閱「設定從 Edge 到後端 (Cloud 和 私有雲) 的 TLS」。

如需在 Edge 設定 TLS 的完整總覽,請參閱「TLS/SSL」。

建立 JKS 檔案

您會將 KeyStore 表示為 JKS 檔案,其中 KeyStore 包含 TLS 憑證和私密金鑰。建立 JKS 檔案的方法有很多種,其中一種是使用 openssl 和 keytool 公用程式。

舉例來說,您有一個名為 server.pem 的 PEM 檔案,其中包含 TLS 憑證,以及一個名為 private_key.pem 的 PEM 檔案,其中包含私密金鑰。請使用下列指令建立 PKCS12 檔案:

> openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12

您必須輸入金鑰的通關密語 (如果有的話) 和匯出密碼。這個指令會建立名為 keystore.pkcs12 的 PKCS12 檔案。

使用下列指令,將檔案轉換為名為 keystore.jks 的 JKS 檔案:

> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks

系統會提示您輸入 JKS 檔案的新密碼,以及 PKCS12 檔案的現有密碼。請務必為 JKS 檔案使用與 PKCS12 檔案相同的密碼。

如需指定金鑰別名 (例如在路由器和訊息處理器之間設定 TLS 時),請在 openssl 指令中加入「-name」選項:

>  openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12 -name devtest

然後在 keytool 指令中加入「-alias」選項:

> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks -alias devtest

產生經過模糊處理的密碼

在 Edge TLS 設定程序中,某些部分需要您在設定檔中輸入經過模糊處理的密碼。相較於以純文字輸入密碼,經過模糊處理的密碼更安全。

您可以使用與 Edge 一併安裝的 Jetty .jar 檔案,在 Java 中產生模糊處理的密碼。請使用下列格式的指令產生模糊處理的密碼:

> java -cp /<inst_root>/apigee/edge-gateway/lib/thirdparty/jetty-http-x.y.z.jar:/<inst_root>/apigee/edge-gateway/lib/thirdparty/jetty-util-x.y.z.jar org.eclipse.jetty.http.security.Password yourPassword

其中 x.y.z 指定 Jetty .jar 檔案的版本號碼,例如 8.0.4.v20111024。這個指令會以下列格式傳回密碼:

yourPassword
OBF:58fh40h61svy156789gk1saj
MD5:902fobg9d80e6043b394cb2314e9c6

設定 TLS 時,請使用 OBF 指定的模糊處理密碼。

詳情請參閱這篇文章。