在 E Amazon IoT SiteWise dge 中手动配置信任存储以支持 HTTPS 代理 - Amazon IoT SiteWise
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 E Amazon IoT SiteWise dge 中手动配置信任存储以支持 HTTPS 代理

将 Amazon IoT SiteWise Edge 组件配置为通过 HTTPS 代理进行连接时,请将代理服务器的证书添加到相应的信任存储中。 SiteWise Edge 使用多个信任存储库来保护通信。有三个信任存储库,您对它们的使用取决于网关实现中的 SiteWise Edge 组件类型。

如果提供了代理设置,则会在安装过程中自动更新信任存储库。

  • 配置 Amazon IoT Greengrass 核心组件信任存储— Amazon IoT Greengrass 根CA证书包含在信任库中,用于验证 Amazon 服务的真实性。

    此信任存储可帮助 Amazon IoT Greengrass 组件通过代理安全地与 Amazon 服务通信,同时验证这些服务的真实性。

  • 配置基于 Java 的组件信任存储— Java KeyStore (JKS) 是基于 Java 的组件用于 SSL/TLS 连接的主要信任存储库。

    Java 应用程序依靠 JKS 来建立安全连接。例如,如果您使用的是基于 Java 的 IoT SiteWise 发布者或 IoT SiteWise OPC UA 收集器,则需要配置此信任存储库。这样可以确保在向云端发送数据或从 OPC UA 服务器收集数据时,这些组件可以安全地通过 HTTPS 代理进行通信。

  • 系统级组件信任存储配置— 使用 HTTPS 代理时,必须将其证书添加到相应的信任存储库中以启用安全连接。

    使用 HTTPS 代理时,必须将其证书添加到相应的信任存储库中以启用安全连接。这是必要的,因为通常用 Rust 或 Go 等语言编写的系统级组件依赖于系统的信任存储库,而不是 Java 的 JKS。例如,如果您使用的系统实用程序需要通过代理进行通信(例如软件更新或时间同步),则需要配置系统级信任存储。这可确保这些组件和实用程序能够通过代理建立安全连接。

配置 Amazon IoT Greengrass 核心组件信任存储

对于使用亚马逊根 CA 的 Amazon IoT Greengrass 核心函数:

  1. 在以下位置找到证书文件 /greengrass/v2/AmazonRootCA1.pem

  2. 将 HTTPS 代理根证书(自签名)附加到此文件中。

-----BEGIN CERTIFICATE----- MIIEFTCCAv2gAwIQWgIVAMHSAzWG/5YVRYtRQOxXUTEpHuEmApzGCSqGSIb3DQEK \nCwUAhuL9MQswCQwJVUzEPMAVUzEYMBYGA1UECgwP1hem9uLmNvbSBJbmMuMRww ... content of proxy CA certificate ... +vHIRlt0e5JAm5\noTIZGoFbK82A0/nO7f/t5PSIDAim9V3Gc3pSXxCCAQoFYnui GaPUlGk1gCE84a0X\n7Rp/lND/PuMZ/s8YjlkY2NmYmNjMCAXDTE5MTEyN2cM216 gJMIADggEPADf2/m45hzEXAMPLE= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDQTCCAimgF6AwIBAgITBmyfz/5mjAo54vB4ikPmljZKyjANJmApzyMZFo6qBg ADA5MQswCQYDVQQGEwJVUzEPMA0tMVT8QtPHRh8jrdkGA1UEChMGDV3QQDExBBKW ... content of root CA certificate ... o/ufQJQWUCyziar1hem9uMRkwFwYVPSHCb2XV4cdFyQzR1KldZwgJcIQ6XUDgHaa 5MsI+yMRQ+hDaXJiobldXgjUka642M4UwtBV8oK2xJNDd2ZhwLnoQdeXeGADKkpy rqXRfKoQnoZsG4q5WTP46EXAMPLE -----END CERTIFICATE-----

在已建立的网关上配置 HTTPS 代理

您可以通过连接到端口 443 而不是端口 8883 来为已建立的网关添加代理支持。有关使用代理服务器的更多信息,请参阅《Amazon IoT Greengrass Version 2 开发人员指南》中的通过端口 443 或通过网络代理进行连接。如果您创建了新的网关,则可以在网关安装期间设置代理配置。有关更多信息,请参阅 在 Amazon IoT SiteWise Edge 网关安装期间配置代理设置

当你 Amazon IoT Greengrass 在 SiteWise Edge 上使用 HTTPS 代理时,软件会根据提供的网址自动在 HTTP 和 HTTPS 之间进行代理连接。

重要

在尝试通过 HTTPS 代理进行连接之前,请更新所有必需的信任存储库。

配置基于 Java 的组件信任存储

对于数据处理包中的物联网 SiteWise 发行商、物联网 SiteWise OPC UA 收集器和 Java 服务,默认 Java 信任存储位置为 $JAVA_HOME/jre/lib/security/cacerts

添加证书
  1. 创建用于存储代理服务器证书的文件,例如proxy.crt

    注意

    使用代理服务器的证书提前创建文件。

  2. 使用以下命令将文件添加到 Java 的信任存储区:

    sudo keytool -import -alias proxyCert -keystore /usr/lib/jvm/java-11-openjdk-amd64/lib/security/cacerts -file proxy.crt
  3. 出现提示时,使用默认密码:changeit

系统级组件信任存储配置

对于用 Rust、Go 和其他使用系统信任存储库的语言编写的组件:

Linux

Linux 系统:将证书添加到 /etc/ssl/certs/ca-certificates.crt

Windows

Microsoft Windows系统:要配置信任存储库,请按照 Microsoft Ignite 文档中的证书存储区步骤进行操作。

Windows 提供多个证书存储区,包括用于用户和计算机范围的单独存储区,每个存储区都有多个子存储区。对于大多数 SiteWise Edge 设置,我们建议在COMPUTER | Trusted Root Certification Authorities商店中添加证书。但是,根据您的特定配置和安全要求,您可能需要使用不同的商店。

对信任存储库问题进行故障排除

有关解决与 SiteWise Edge 网关相关的信任存储问题的更多信息,请参阅信任商店问题