

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

# 在中手动配置信任存储以支持 HTTPS 代理Amazon IoT SiteWiseEdge
<a name="manage-trust-stores-proxy_trust-store-locations-and-configuration"></a>

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

如果提供了代理设置，则会在安装过程中自动更新信任存储库。
+ [配置一个Amazon IoT Greengrass核心组件信任存储](#manage-trust-stores-proxy_greengrass-core-components)— Amazon IoT Greengrass 根CA证书包含在信任库中，用于验证Amazon服务的真实性。

  此信任存储可帮助Amazon IoT Greengrass组件通过代理安全地与Amazon服务通信，同时验证这些服务的真实性。
+ [配置 Java-based 组件信任存储](#manage-trust-stores-proxy_java-based-components)— Java KeyStore (JKS) 是 Java-based组件用于 SSL/TLS 连接的主要信任存储库。

   Java 应用程序依靠 JKS 来建立安全连接。例如，如果您使用的是物联网 SiteWise 发布者或 IoT SiteWise OPC UA 收集器 Java-based，则需要配置此信任存储。这样可以确保在向云端发送数据或从 OPC UA 服务器收集数据时，这些组件可以安全地通过 HTTPS 代理进行通信。
+ [System-level 组件信任存储配置](#manage-trust-stores-proxy_system-level-components)— 使用 HTTPS 代理时，必须将其证书添加到相应的信任存储库中以启用安全连接。

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

## 配置一个Amazon IoT Greengrass核心组件信任存储
<a name="manage-trust-stores-proxy_greengrass-core-components"></a>

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

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

1. 将 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 代理
<a name="manage-trust-stores-proxy_proxy-configuration"></a>

您可以通过连接到端口 443 而不是端口 8883 来为已建立的网关添加代理支持。有关使用代理服务器的更多信息，请参阅《*Amazon IoT Greengrass Version 2开发人员指南*[》中的通过端口 443 或通过网络代理进行连接](https://docs.amazonaws.cn/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-alpn-network-proxy)。如果您创建了新的网关，则可以在网关安装期间设置代理配置。有关更多信息，请参阅 [在此期间配置代理设置Amazon IoT SiteWise边缘网关安装](manage-trust-stores-proxy_config.md)。

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

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

## 配置 Java-based 组件信任存储
<a name="manage-trust-stores-proxy_java-based-components"></a>

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

**添加证书**

1. 创建用于存储代理服务器证书的文件，例如`proxy.crt`。
**注意**  
使用代理服务器的证书提前创建文件。

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

   ```
   sudo keytool -import -alias proxyCert -keystore /usr/lib/jvm/java-11-openjdk-amd64/lib/security/cacerts -file proxy.crt
   ```

1. 出现提示时，使用默认密码：`changeit`

## System-level 组件信任存储配置
<a name="manage-trust-stores-proxy_system-level-components"></a>

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

------
#### [ Linux ]

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

------
#### [ Windows ]

Microsoft Windows系统：要配置信任存储库，请按照 *Microsoft Ignite* 文档中的[证书存储](https://learn.microsoft.com/en-us/windows-hardware/drivers/install/certificate-stores)区步骤进行操作。

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

------

## 对信任存储库问题进行故障排除
<a name="manage-trust-stores-proxy_trust-stores-troubleshooting"></a>

有关解决与 SiteWise Edge 网关相关的信任存储问题的更多信息，请参阅[信任商店问题](troubleshooting-gateway.md#troubleshoot-trust-stores)。