为 Edge On Premises 配置 TLS/SSL

适用于私有云的 Edge v. 4.16.05

TLS(传输层安全协议,其前身是 SSL)是一种标准的安全技术 可确保跨 API 环境(从应用到 Apigee)进行安全加密的消息传递 让您的后端服务完美无瑕。

无论您的 Management API 环境配置如何,例如, 您在 Management API 前端使用了代理、路由器和/或负载平衡器(或者 - Edge 可让您启用和配置 TLS,从而在 管理本地 API 管理环境。

对于 Edge 私有云的本地安装,您可以在多个位置 配置 TLS:

  1. 路由器和消息处理器之间
  2. 访问 Edge Management API
  3. 访问 Edge 管理界面
  4. 从应用访问您的 API
  5. 对于从 Edge 到后端服务的访问

为前三项配置 TLS 如下所述。所有这些流程都假设 说明您已创建了一个包含 TLS 证书和私钥的 JKS 文件。

要配置 TLS 以便从应用访问您的 API,请参阅上文中的配置对 API 的 TLS 访问 适用于私有云。如需配置 TLS 以便从 Edge 访问后端服务,请 #5 请参阅配置 TLS 从边缘到后端(Cloud 和 Private Cloud)

如需全面了解如何在 Edge 上配置 TLS,请参阅 TLS/SSL

创建 JKS 文件

您将密钥库表示为 JKS 文件,其中密钥库会包含您的 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 时 处理器,请添加“-name” 选项:

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

然后,添加“-aliaskeytool 命令的选项:

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

生成经过混淆处理的密码

Edge TLS 配置过程的某些部分会要求您输入混淆过的密码 定义一个配置文件与输入验证码相比,混淆过的密码 纯文本格式的密码。

您可以使用 安装的 Jetty .jar 文件 Edge。使用形式如下的命令,启用经过混淆处理的密码:

> 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 指定的经过混淆处理的密码。

有关详情,请参阅此 文章