本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
伺服器驗證
當您的裝置或其他用戶端嘗試連線至 時 AWS IoT Core AWS IoT Core ,伺服器會傳送 X.509 憑證,供您的裝置用來驗證伺服器。透過 X.509 憑證鏈的驗證,在 TLS層進行身分驗證。這是您造訪 HTTPS 時瀏覽器所使用的相同方法URL。如果您要使用自己的憑證授權單位的憑證,請參閱 管理您的憑證授權機構憑證。
當您的裝置或其他用戶端建立與端點的TLS AWS IoT Core 連線時, 會 AWS IoT Core 呈現憑證鏈,讓裝置用來驗證其是否正在與 通訊 AWS IoT Core ,而不是其他冒充 的伺服器通訊 AWS IoT Core。顯示的鏈取決於裝置所連接端點的類型,以及在TLS交握期間用戶端和交 AWS IoT Core 涉的密碼套件的組合。
端點類型
AWS IoT Core 支援 iot:Data-ATS
。iot:Data-ATS
端點顯示由 Amazon Trust Services
ATS 端點提供的憑證由 Starfield 交叉簽署。有些TLS用戶端實作需要驗證信任根,並要求 Starfield CA 憑證安裝在用戶端的信任存放區中。
警告
不建議使用雜湊整個憑證 (包括發行者名稱等) 的憑證釘選方法,因為這樣會導致憑證驗證失敗,因為我們提供的ATS憑證由 Starfield 交叉簽署,且具有不同的發行者名稱。
重要
使用iot:Data-ATS
端點。Symantec 和 Verisign 憑證已棄用,不再受 支援 AWS IoT Core。
您可以使用 describe-endpoint
命令來建立ATS端點。
aws iot describe-endpoint --endpoint-type iot:Data-ATS
describe-endpoint
命令會傳回下列格式的端點。
account-specific-prefix
.iot.your-region
.amazonaws.com
注意
第一次呼叫 describe-endpoint
時,會建立一個端點。所有後續呼叫 describe-endpoint
會傳回相同的端點。
注意
若要在 AWS IoT Core 主控台中查看您的iot:Data-ATS
端點,請選擇設定 。主控台只會顯示 iot:Data-ATS
端點。
IotDataPlaneClient
使用適用於 Java 的 AWS SDK 建立
若要建立IotDataPlaneClient
使用iot:Data-ATS
端點的 ,您必須執行下列動作。
-
使用 建立
iot:Data-ATS
端點DescribeEndpointAPI。 -
在建立
IotDataPlaneClient
時指定該端點。
下列範例會同時執行這些操作。
public void setup() throws Exception { IotClient client = IotClient.builder().credentialsProvider(CREDENTIALS_PROVIDER_CHAIN).region(Region.US_EAST_1).build(); String endpoint = client.describeEndpoint(r -> r.endpointType("iot:Data-ATS")).endpointAddress(); iot = IotDataPlaneClient.builder() .credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) .endpointOverride(URI.create("https://" + endpoint)) .region(Region.US_EAST_1) .build(); }
伺服器身分驗證的憑證授權機構憑證
根據您所使用的資料端點類型和交涉的密碼套件, AWS IoT Core 伺服器身分驗證憑證會由下列其中一個根 CA 憑證簽署:
Amazon Trust Services 端點 (首選)
注意
您可能需要在這些連結上按一下滑鼠右鍵,然後選取 Save link as... (另存連結為...) 以將這些憑證儲存為檔案。
-
RSA 2048 位元金鑰: Amazon Root CA 1
. -
RSA 4096 位元金鑰:Amazon Root CA 2。 已保留供日後使用。
-
ECC 256 位元金鑰: Amazon Root CA 3
. -
ECC 384 位元金鑰:Amazon Root CA 4。 已保留供日後使用。
這些憑證都是由 Starfield 根憑證授權機構憑證
VeriSign 端點 (舊版)
-
RSA 2048 位元金鑰:VeriSign Class 3 Public Primary G5 根 CA 憑證
伺服器身分驗證準則
有許多變數會影響裝置驗證 AWS IoT Core 伺服器驗證憑證的能力。例如,裝置的記憶體可能受限,無法保存所有可能的根憑證授權機構憑證,或者裝置可能實作非標準的憑證驗證方法。基於這些原因,我們建議您遵循以下準則:
-
我們建議您使用ATS端點並安裝所有支援的 Amazon Root CA 憑證。
-
如果您無法在裝置上存放所有這些憑證,而且您的裝置不使用 ECC型驗證,則可以省略 Amazon Root CA 3
和 Amazon Root CA 4 ECC 憑證。如果您的裝置未實作 RSA型憑證驗證,您可以省略 Amazon Root CA 1 和 Amazon Root CA 2 RSA 憑證。您可能需要在這些連結上按一下滑鼠右鍵,然後選取 Save link as... (另存連結為...) 以將這些憑證儲存為檔案。 -
如果您在連線至ATS端點時遇到伺服器憑證驗證問題,請嘗試將相關的跨簽署 Amazon Root CA 憑證新增至信任存放區。您可能需要在這些連結上按一下滑鼠右鍵,然後選取 Save link as... (另存連結為...) 以將這些憑證儲存為檔案。
-
如果您遇到伺服器憑證驗證問題,則您的裝置可能需要明確地信任根 CA。嘗試新增 Starfield Root CA Certificate
您的信任存放區。 -
如果您在執行上述步驟後仍然遇到問題,請聯絡 AWS 開發人員支援
。
注意
憑證授權機構憑證在過期日期之後,即無法用於驗證伺服器的憑證。憑證授權機構憑證過期日期之前,可能需要進行替代。請確認您能夠於所有裝置或用戶端更新根憑證授權機構憑證,以維持連線能力並取得最新的安全最佳實務。
注意
在裝置程式碼 AWS IoT Core 中連線至 時,請將憑證傳遞至API您用來連線的 。API 您使用的 會因 而異SDK。如需詳細資訊,請參閱AWS IoT Core 裝置 SDKs。