了解 Azure IoT Edge 如何使用憑證

適用于: IoT Edge 1.4 checkmark IoT Edge 1.4

重要

支援的版本是 IoT Edge 1.4。 如果您是舊版,請參閱更新 IoT Edge

IoT Edge 會針對不同目的使用不同類型的憑證。 本文將逐步引導您瞭解 IoT Edge 搭配Azure IoT 中樞和 IoT Edge 閘道案例使用憑證的不同方式。

重要

為了簡潔起見,本文適用于 IoT Edge 1.2 版或更新版本。 1.1 版的憑證概念很類似,但有一些差異:

  • 1.1 版中的裝置 CA 憑證 已重新命名為 Edge CA 憑證
  • 1.1 版中的工作負載 CA 憑證 已淘汰。 在 1.2 版或更新版本中,IoT Edge 模組執行時間會直接從 Edge CA 憑證產生所有伺服器憑證,而不會在憑證鏈結中產生中繼工作負載 CA 憑證。

摘要

這些核心案例是 IoT Edge 使用憑證的所在位置。 使用連結以深入了解每個案例。

演員 目的 憑證
IoT Edge 確保其正在和正確的 IoT 中樞通訊 IoT 中樞伺服器憑證
IoT 中樞 確保該要求是來自合法的 IoT Edge 裝置 IoT Edge 身分識別的憑證
下游 IoT 裝置 確保其正在和正確的 IoT Edge 閘道通訊 由 Edge CA 發行的 IoT Edge 中樞 edgeHub 模組伺服器憑證
IoT Edge 簽署新模組伺服器憑證。 例如,edgeHub 邊緣 CA 憑證
IoT Edge 確保該要求是來自合法的下游裝置 IoT 裝置身分識別的憑證

必要條件

單一裝置案例

為了協助瞭解 IoT Edge 憑證概念,假設名為 EdgeGateway 的 IoT Edge 裝置連線到名為 ContosoIotHub 的Azure IoT 中樞。 在此範例中,所有驗證都是使用 X.509 憑證驗證完成,而不是對稱金鑰。 若要在此案例中建立信任,我們需要保證IoT 中樞和 IoT Edge 裝置是正宗的: 「此裝置是否正版且有效? 「IoT 中樞的身分識別是否正確? 」。 案例可說明如下:

Trust scenario state diagram showing connection between IoT Edge device and IoT Hub.

我們將說明每個問題的答案,然後展開本文稍後章節中的範例。

裝置會驗證IoT 中樞身分識別

EdgeGateway 如何 確認其與正版 ContosoIotHub 通訊? 當 EdgeGateway 想要與雲端通訊時,它會連線到端點 ContosoIoTHub.Azure-devices.NET 。 若要確定端點是真實的,IoT Edge 需要 ContosoIoTHub 才能顯示識別(識別碼)。 識別碼必須由 EdgeGateway 信任的 授權單位發出。 若要驗證IoT 中樞身分識別,IoT Edge 和 IoT 中樞使用 TLS 交 握通訊協定來驗證IoT 中樞的伺服器身分識別。 下圖說明 TLS 交握 。 為了讓範例保持簡單,已省略一些詳細資料。 若要深入瞭解 TLS 交握 通訊協定,請參閱 維琪百科 上的 TLS 交握。

注意

在此範例中, ContosoIoTHub 代表IoT 中樞主機名稱 ContosoIotHub.Azure-devices.NET

Sequence diagram showing certificate exchange from IoT Hub to IoT Edge device with certificate verification with the trusted root store on the IoT Edge device.

在此內容中,您不需要知道密碼編譯演算法 確切詳細資料。 請務必瞭解演算法可確保伺服器擁有與其公開金鑰配對的私密金鑰。 它會驗證憑證的簡報者未複製或竊取憑證。 如果我們使用相片識別碼作為範例,您的臉部會比對識別碼上的相片。 如果有人竊取您的識別碼,他們就無法使用它進行識別,因為您的臉部是唯一且難以重現的。 對於密碼編譯金鑰,金鑰組是相關且唯一的。 密碼編譯演算法會使用金鑰組來驗證身分識別,而不是將臉部與相片識別碼相符。

在我們的案例中, ContosoIotHub 會顯示下列憑證鏈結:

Flow diagram showing intermediate and root certificate authority chain for IoT Hub.

根憑證授權單位 (CA) 是 Baltimore CyberTrust 跟 證書。 此根憑證是由 DigiCert 簽署,而且廣泛信任並儲存在許多作業系統中。 例如,Ubuntu 和 Windows 都會將其包含在預設憑證存放區中。

Windows 憑證存放區:

Screenshot showing Baltimore CyberTrust Root certificate listed in the Windows certificate store.

Ubuntu 憑證存放區:

Screenshot showing Baltimore CyberTrust Root certificate listed in the Ubuntu certificate store.

當裝置檢查 Baltimore CyberTrust 跟 證書時,其會預先安裝在 OS 中。 從 EdgeGateway 的觀點來看,由於 ContosoIotHub 所提供的 憑證鏈結是由 OS 信任的根 CA 簽署,因此憑證會被視為可信任。 憑證稱為 IoT 中樞伺服器憑證 。 若要深入瞭解IoT 中樞伺服器憑證,請參閱 IoT 中樞 中的傳輸層安全性 (TLS) 支援。

總而言之, EdgeGateway 可以驗證並信任 ContosoIotHub 的身分識別, 因為:

  • ContosoIotHub 會呈現其 IoT 中樞伺服器憑證
  • 伺服器憑證在 OS 憑證存放區中受信任
  • 使用 ContosoIotHub 公開金鑰加密 的資料可由 ContosoIotHub 解密 ,證明其擁有私密金鑰

IoT 中樞驗證 IoT Edge 裝置身分識別

ContosoIotHub 如何 確認它正在與 EdgeGateway 通訊? 由於 IoT 中樞支援 相互 TLS (mTLS), 因此它會在用戶端驗證的 TLS 交握 期間 檢查 EdgeGateway 的憑證。 為了簡單起見,我們將略過下圖中的一些步驟。

Sequence diagram showing certificate exchange from IoT Edge device to IoT Hub with certificate thumbprint check verification on IoT Hub.

在此情況下, EdgeGateway 會提供其 IoT Edge 裝置身分識別憑證 。 從 ContosoIotHub 的觀點來看,它會檢查所提供憑證的指紋是否符合其記錄,而 EdgeGateway 的私密金鑰會與所呈現的憑證配對。 當您在 IoT 中樞 中布建 IoT Edge 裝置時,您會提供指紋。 指紋是IoT 中樞用來驗證憑證的內容。

提示

IoT 中樞註冊 IoT Edge 裝置時需要兩個指紋。 最佳做法是準備兩個不同的裝置身分識別憑證,其到期日不同。 如此一來,如果一個憑證到期,另一個憑證仍然有效,並讓您有時間輪替過期的憑證。 不過,您也可以只使用一個憑證進行註冊。 註冊裝置時,為主要和次要指紋設定相同的憑證指紋,以使用單一憑證。

例如,我們可以使用下列命令來取得 EdgeGateway 上的 身分識別憑證指紋:

sudo openssl x509 -in /var/lib/aziot/certd/certs/deviceid-random.cer -noout -nocert -fingerprint -sha256

命令會輸出憑證 SHA256 指紋:

SHA256 Fingerprint=1E:F3:1F:88:24:74:2C:4A:C1:A7:FA:EC:5D:16:C4:11:CD:85:52:D0:88:3E:39:CB:7F:17:53:40:9C:02:95:C3

如果我們檢視IoT 中樞中註冊之 EdgeGateway 裝置的 SHA256 指紋值 ,我們可以看到它符合 EdgeGateway 上的 指紋:

Screenshot from Azure portal of EdgeGateway device's thumbprint in ContosoIotHub.

總而言之, ContosoIotHub 可以信任 EdgeGateway,因為 EdgeGateway 會提供有效的 IoT Edge 裝置身分識別憑證 ,其指紋符合IoT 中樞中註冊的憑證。

如需憑證建置程式的詳細資訊,請參閱 使用 X.509 憑證 在 Linux 上建立和布建 IoT Edge 裝置。

注意

此範例不會解決Azure IoT 中樞裝置布建服務 (DPS),此服務在向註冊群組布建時,支援使用 IoT Edge 進行 X.509 CA 驗證。 使用 DPS,您可以上傳 CA 憑證或中繼憑證,並驗證憑證鏈結,然後布建裝置。 若要深入瞭解,請參閱 DPS X.509 憑證證明

在 Azure 入口網站中,DPS 會顯示憑證的 SHA1 指紋,而不是 SHA256 指紋。

DPS 會註冊或更新 SHA256 指紋,以IoT 中樞。 您可以使用 命令 openssl x509 -in /var/lib/aziot/certd/certs/deviceid-long-random-string.cer -noout -fingerprint -sha256 來驗證指紋。 註冊之後,Iot Edge 會使用指紋驗證搭配 IoT 中樞。 如果重新布建裝置併發出新的憑證,DPS 會更新IoT 中樞新的指紋。

IoT 中樞目前不支援直接使用 IoT Edge 進行 X.509 CA 驗證。

模組身分識別作業的憑證使用

在憑證驗證圖表中,IoT Edge 可能只會使用憑證與IoT 中樞通訊。 IoT Edge 是由數個模組所組成。 因此,IoT Edge 會使用憑證來管理傳送訊息之模組的模組身分識別。 模組不會使用憑證來驗證IoT 中樞,而是使用衍生自 IoT Edge 模組執行時間所產生私密金鑰的 SAS 金鑰。 即使裝置身分識別憑證過期,這些 SAS 金鑰也不會變更。 如果憑證過期, edgeHub 例如會繼續執行,而且只有模組身分識別作業失敗。

模組與IoT 中樞之間的互動是安全的,因為 SAS 金鑰衍生自秘密,而 IoT Edge 會管理金鑰,而不需要人為介入的風險。

使用 IoT Edge 作為閘道的巢狀裝置階層案例

您現在已充分瞭解 與 IoT 中樞 之間的簡單互動 IoT Edge。 但是,IoT Edge 也可以作為下游裝置或其他 IoT Edge 裝置的閘道。 這些通道也必須經過加密和信任。 由於複雜度增加,我們必須擴充範例案例以包含下游裝置。

我們會新增名為 TempSensor 的一般 IoT 裝置,其會連線到其父系 IoT Edge EdgeGateway ,以連線到 IoT 中樞 ContosoIotHub 與之前類似,所有驗證都是使用 X.509 憑證驗證完成。 我們的新案例提出了兩個新的問題:「 TempSensor 裝置是否合法? 「EdgeGateway 的身分識別是否正確?」 。 案例可說明如下:

Trust scenario state diagram showing connection between IoT Edge device, an IoT Edge gateway, and IoT Hub.

提示

TempSensor 是案例中的 IoT 裝置。 如果 TempSensor 是父 EdgeGateway 的下游 IoT Edge 裝置,則憑證概念會相同。

裝置會驗證閘道身分識別

TempSensor 如何 確認它正在與正版 EdgeGateway 通訊? 當 TempSensor 想要與 EdgeGateway 交談時 TempSensor 需要 EdgeGateway 才能顯示識別碼。 識別碼必須由 TempSensor 信任的 授權單位發出。

Sequence diagram showing certificate exchange from gateway device to IoT Edge device with certificate verification using the private root certificate authority.

流程與 EdgeGateway ContosoIotHub 交談時 相同。 TempSensor EdgeGateway 會使用 TLS 交握通訊 協定來驗證 EdgeGateway 的 身分識別。 有兩個重要的詳細資料:

  • 主機名稱特定性 :EdgeGateway 所提供的 憑證必須核發給 TempSensor 用來連線到 EdgeGateway 的相同主機名稱(網域或 IP 位址 )。
  • 自我簽署的根 CA 特定性 :EdgeGateway 所提供的 憑證鏈結很可能不在 OS 預設信任的根存放區中。

為了瞭解詳細資料,讓我們先檢查 EdgeGateway 所提供的 憑證鏈結。

Flow diagram showing certificate authority chain for an IoT Edge gateway.

主機名稱特定性

憑證一般名稱 CN = edgegateway.local 會列在鏈結頂端。 edgegateway.local edgeHub 的伺服器憑證一般名稱。 edgegateway.local 也是區域網路 (LAN 或 VNet) 上 EdgeGateway 的主機名稱 其中 TempSensor EdgeGateway 已連線。 它可以是私人 IP 位址,例如 192.168.1.23 或圖表等完整功能變數名稱 (FQDN)。 edgeHub 伺服器憑證 是使用 IoT Edge config.toml 檔案 定義的主機名稱 參數來產生。 請勿混淆 edgeHub 伺服器憑證 Edge CA 憑證 。 如需管理 Edge CA 憑證的詳細資訊,請參閱 管理 IoT Edge 憑證

當 TempSensor 連線到 EdgeGateway TempSensor 會使用主機名稱 edgegateway.local 連線到 EdgeGateway TempSensor 會檢查 EdgeGateway 所提供的 憑證,並確認憑證一般名稱為 edgegateway.local 。 如果憑證一般名稱不同, TempSensor 會拒絕連線。

注意

為了簡單起見,此範例會將主體憑證一般名稱 (CN) 顯示為已驗證的屬性。 實際上,如果憑證具有主體別名 (SAN),SAN 就會經過驗證,而不是 CN。 一般而言,由於 SAN 可以包含多個值,因此它同時具有憑證持有者的主要網域/主機名稱,以及任何替代網域。

為什麼 EdgeGateway 需要被告知自己的主機名稱?

EdgeGateway 沒有可靠的方法來知道網路上的其他用戶端如何連線。 例如,在私人網路上,可能會有將 EdgeGateway 列為 10.0.0.2example-mdns-hostname.local 的 DHCP 伺服器或 mDNS 服務。 但是,某些網路可能會有對應 edgegateway.local EdgeGateway IP 位址 10.0.0.2 DNS 伺服器。

為了解決此問題,IoT Edge 會在 中使用 config.toml 已設定的主機名稱值,並為其建立伺服器憑證。 當要求來到 edgeHub 模組時,它會以正確的憑證通用名稱 (CN) 呈現憑證。

為什麼 IoT Edge 會建立憑證?

在範例中,請注意 憑證鏈結中有 iotedged 工作負載 ca edgegateway 。 這是存在於 IoT Edge 裝置上稱為 Edge CA 的憑證授權單位單位(先前稱為 1.1 版中的裝置 CA )。 如同先前範例中的 Baltimore CyberTrust 根 CA,Edge CA 可以發出其他憑證。 最重要的是,在此範例中,也會將伺服器憑證發行至 edgeHub 模組。 但是,它也可以向 IoT Edge 裝置上執行的其他模組發出憑證。

重要

根據預設, Edge CA 會在第一次啟動時由 IoT Edge 模組執行時間自動產生,稱為 快速入門 Edge CA ,然後向 edgeHub 模組發出憑證 。 此程式可讓 edgeHub 呈現已簽署的有效憑證,以加快下游裝置連線的速度。 如果沒有這項功能,您必須讓 CA 簽發 edgeHub 模組的 憑證。 不支援在生產環境中使用自動產生的 快速入門 Edge CA 。 如需快速入門 Edge CA 的詳細資訊,請參閱 快速入門 Edge CA

在裝置上擁有簽發者憑證並不危險嗎?

Edge CA 的設計目的是要啟用有限、不可靠、昂貴或缺席連線的解決方案,但同時對憑證更新有嚴格的法規或原則。 若沒有 Edge CA,IoT Edge 即特別 edgeHub 無法運作。

若要在生產環境中保護 Edge CA:

  • 將 EdgeCA 私密金鑰放在受信任的平臺模組 (TPM),最好是暫時產生私密金鑰,而且永遠不會離開 TPM。
  • 使用 Edge CA 匯總至其中的公開金鑰基礎結構 (PKI)。 這可讓您停用或拒絕更新遭入侵的憑證。 如果 PKI 知道成本較低或透過商業 PKI 提供者,就可以由客戶 IT 管理。

自我簽署根 CA 特定性

edgeHub 模組 是透過處理所有連入流量來構成 IoT Edge 的重要元件。 在此範例中,它會使用 Edge CA 所簽發的憑證,接著由自我簽署的根 CA 發行。 因為 OS 不根信任 CA,所以 TempSensor 一信任的方式就是將 CA 憑證安裝到裝置上。 這也稱為 信任組合 案例,您需要將根目錄散發給需要信任鏈結的用戶端。 信任套件組合案例可能會很麻煩,因為您需要存取裝置並安裝憑證。 安裝憑證需要規劃。 您可以使用腳本、在製造期間新增或預先安裝在 OS 映射中來完成。

注意

某些用戶端和 SDK 不會使用 OS 信任的根存放區,而且您需要直接傳遞根 CA 檔案。

套用所有這些概念, TempSensor 可以確認它正在與正版 EdgeGateway 通訊,因為它呈現的憑證符合位址,且憑證是由受信任的根簽署。

若要驗證憑證鏈結,您可以在 openssl TempSensor 裝置上使用 。 在此範例中,請注意連線的主機名稱符合深度 0 憑證的 CN,且根 CA 相符。

openssl s_client -connect edgegateway.local:8883 --CAfile my_private_root_CA.pem

depth=3 CN = my_private_root_CA
verify return:1
depth=2 CN = my_optional_intermediate_CA
verify return:1
depth=1 CN = iotedged workload ca edgegateway
verify return:1
depth=0 CN = edgegateway.local
verify return: 1
CONNECTED(00000003)
---
Certificate chain
0 s:/CN=edgegateway.local
  i:/CN=iotedged workload ca edgegateway
1 s:/CN=iotedged workload ca edgegateway
  i:/CN=my_optional_intermediate_CA
2 s:/CN=my_optional_intermediate_CA
  i:/CN=my_private_root_CA

若要深入瞭解 openssl 命令,請參閱 OpenSSL 檔

您也可以檢查憑證,這些憑證預設會儲存在 中 /var/lib/aziot/certd/certs 。 您可以在 目錄中找到 Edge CA 憑證、裝置身分識別憑證和模組憑證。 您可以使用 openssl x509 命令來檢查憑證。 例如:

sudo ls -l /var/lib/aziot/certd/certs
total 24
-rw-r--r-- 1 aziotcs aziotcs 1090 Jul 27 21:27 aziotedgedca-86f154be7ff14480027f0d00c59c223db6d9e4ab0b559fc523cca36a7c973d6d.cer
-rw-r--r-- 1 aziotcs aziotcs 2589 Jun 22 18:25 aziotedgedmoduleIoTEdgeAPIProxy637913460334654299server-c7066944a8d35ca97f1e7380ab2afea5068f39a8112476ffc89ea2c46ca81d10.cer
-rw-r--r-- 1 aziotcs aziotcs 2576 Jun 22 18:25 aziotedgedmoduleedgeHub637911101449272999server-a0407493b6b50ee07b3fedbbb9d181e7bb5f6f52c1d071114c361aca628daa92.cer
-rw-r--r-- 1 aziotcs aziotcs 1450 Jul 27 21:27 deviceid-bd732105ef89cf8edd2606a5309c8a26b7b5599a4e124a0fe6199b6b2f60e655.cer

總而言之, TempSensor 可以信任 EdgeGateway ,因為:

  • edgeHub 模組顯示 edgegateway.local 的有效 IoT Edge 模組伺服器憑證
  • 憑證是由由 所簽發的 Edge CA 所簽發 my_private_root_CA
  • 此私人根 CA 也會儲存在 TempSensor ,做為稍早信任的根 CA
  • 密碼編譯演算法會驗證擁有權和發行鏈結是否可受信任

其他模組的憑證

其他模組可以取得 Edge CA 簽發的伺服器憑證。 例如, 具有 Web 介面的 Grafana 模組。 它也可以從 Edge CA 取得憑證。 模組會被視為裝載在容器中的下游裝置。 不過,能夠從 IoT Edge 模組執行時間取得憑證是特殊許可權。 模組會 呼叫工作負載 API ,以接收鏈結至已設定 Edge CA 的伺服器憑證。

閘道會驗證裝置身分識別

EdgeGateway 如何 確認它正在與 TempSensor 通訊? EdgeGateway 會使用 TLS 用戶端驗證來驗證 TempSensor。

Sequence diagram showing certificate exchange from IoT Edge device to gateway with certificate check verification from IoT Hub certificates.

順序類似于 ContosoIotHub 驗證裝置。 不過,在閘道案例中, EdgeGateway 依賴 ContosoIotHub 作為憑證記錄的真相來源。 EdgeGateway 也會保留離線複製或快取,以防沒有雲端連線。

提示

不同于 IoT Edge 裝置,下游 IoT 裝置不限於指紋 X.509 驗證。 X.509 CA 驗證也是一個選項。 EdgeGateway 也可以檢查 TempSensor 的憑證是否 根植于已上傳至 ContosoIotHub CA, 而不是只尋找指紋上的相符專案。

總而言之, EdgeGateway 可以信任 TempSensor ,因為:

  • TempSensor 會以其名稱呈現有效的 IoT 裝置身分識別憑證
  • 身分識別憑證的指紋符合上傳至 ContosoIotHub 的指紋
  • 密碼編譯演算法會驗證擁有權和發行鏈結是否可受信任

取得憑證和管理的位置

在大部分情況下,您可以提供自己的憑證,或在自動產生的憑證上使用。 例如, 會自動產生 Edge CA edgeHub 憑證。

不過,最佳做法是將裝置設定為使用透過安全傳輸的註冊 (EST) 伺服器來管理 x509 憑證。 使用 EST 伺服器可協助您手動處理憑證,並在裝置上安裝憑證。 如需使用 EST 伺服器的詳細資訊,請參閱 為 Azure IoT Edge 設定透過安全傳輸伺服器的註冊。

您也可以使用憑證向 EST 伺服器進行驗證。 這些憑證是用來向 EST 伺服器進行驗證,以發出其他憑證。 憑證服務會使用啟動程式憑證向 EST 伺服器進行驗證。 啟動程式憑證會長期存留。 初始驗證時,憑證服務會向 EST 伺服器提出發出識別憑證的要求。 此身分識別憑證會在未來對相同伺服器的 EST 要求中使用。

如果您無法使用 EST 伺服器,您應該向 PKI 提供者要求憑證。 您可以在 IoT 中樞 和 IoT Edge 裝置中手動管理憑證檔案。 如需詳細資訊, 請管理 IoT Edge 裝置 上的憑證。

如需概念開發證明,您可以建立測試憑證。 如需詳細資訊,請參閱 建立示範憑證以測試 IoT Edge 裝置功能

IoT 中的憑證

憑證授權單位

憑證授權單位單位 (CA) 是發行數位憑證的實體。 憑證授權單位單位在擁有者和憑證接收者之間充當受信任的協力廠商。 數位憑證會由憑證接收者認證公開金鑰的擁有權。 信任的憑證鏈結的運作方式是一開始發行根憑證,這是授權單位所簽發之所有憑證的信任基礎。 根憑證擁有者接著可以發出額外的中繼憑證(下游裝置憑證)。

根 CA 憑證

根 CA 憑證是整個程式的根信任目錄。 在生產案例中,此 CA 憑證是從 Baltimore、Verisign 或 DigiCert 等受信任商業憑證授權單位單位購買。 如果您完全控制連線到 IoT Edge 裝置的裝置,則可以使用公司層級憑證授權單位單位。 在任一事件中,整個憑證鏈結會從 IoT Edge 到IoT 中樞使用它。 下游 IoT 裝置必須信任根憑證。 您可以將根 CA 憑證儲存在受信任的根憑證授權單位存放區,或在應用程式程式碼中提供憑證詳細資料。

中繼憑證

在建立安全裝置的典型製造程式中,根 CA 憑證很少直接使用,主要是因為洩漏或暴露的風險。 根 CA 憑證會建立並數位簽署一或多個中繼 CA 憑證。 可能只有一個,或可能有這些中繼憑證的鏈結。 需要中繼憑證鏈結的案例包括:

  • 製造商內的部門階層
  • 多個參與裝置生產的公司
  • 客戶購買根 CA 並衍生簽署憑證給製造商,以代表該客戶簽署裝置

在任何情況下,製造商都會使用此鏈結結尾的中繼 CA 憑證來簽署放在終端裝置上的邊緣 CA 憑證。 這些中繼憑證在製造廠受到嚴密保護。 它們會經歷嚴格的程式,無論是實體還是電子的使用方式。

下一步

  • 如需如何在 IoT Edge 裝置上安裝憑證並從組態檔參考憑證的詳細資訊,請參閱 管理 IoT Edge 裝置 上的憑證。
  • 瞭解 Azure IoT Edge 模組
  • 設定 IoT Edge 裝置作為透明閘道
  • 本文討論用來保護 IoT Edge 裝置上不同元件之間或 IoT Edge 裝置與任何下游裝置之間連線的憑證。 您也可以使用憑證,向 IoT 中樞驗證 IoT Edge 裝置。 這些驗證憑證不同,本文不會討論。 如需使用憑證驗證裝置的詳細資訊,請參閱 使用 X.509 憑證 建立和布建 IoT Edge 裝置。