Rövid útmutató: Szimulált TPM-eszköz kiépítése

Ebben a rövid útmutatóban egy szimulált eszközt fog létrehozni a Windows-gépen. A szimulált eszköz úgy lesz konfigurálva, hogy egy megbízható platformmodul (TPM) igazolási mechanizmust használjon a hitelesítéshez. Miután konfigurálta az eszközt, az Azure IoT Hub Device Provisioning Service használatával kiépítheti az IoT Hubra. Ezt követően a rendszer mintakódot használ az eszköz eszközkiépítési szolgáltatáspéldányhoz való regisztrálásához.

Ha nem ismeri a kiépítés folyamatát, tekintse át a kiépítés áttekintését . Emellett a folytatás előtt végezze el az IoT Hub eszközkiépítési szolgáltatás beállítása az Azure Portallal című cikk lépéseit.

Az Azure IoT Device Provisioning Service kétféle típusú regisztrációt támogat:

Ez a cikk az egyéni regisztrációkat mutatja be.

A Platformmegbízhatósági modul (TPM) igazolása nem támogatott a Python SDK-ban. A Pythonnal szimmetrikus kulcsokkal vagy X.509-tanúsítványokkal építhet ki egy eszközt.

Előfeltételek

Az alábbi előfeltételek a Windows fejlesztői környezethez tartoznak. Linux vagy macOS esetén lásd a fejlesztési környezet előkészítése című szakaszt az SDK dokumentációjában.

  • Egy TPM 2.0 hardveres biztonsági modul a Windows-alapú gépen.

  • Telepítse a .NET Core SDK 6.0-s vagy újabb verzióját Windows-alapú gépére. A verzió ellenőrzéséhez használja az alábbi parancsot.

    dotnet --info
    
  • Telepítse a Git legújabb verzióját. Győződjön meg arról, hogy a Git hozzá van adva a parancsablakhoz elérhető környezeti változókhoz. Tekintse meg a Software Freedom Conservancy Git-ügyféleszközeit a telepíteni kívánt eszközök legújabb verziójához git , amely tartalmazza a Git Basht, a helyi Git-adattárral való interakcióhoz használható parancssori alkalmazást.

A fejlesztőkörnyezet előkészítése

Ebben a szakaszban egy, az Azure IoT C SDK és a TPM-eszközszimulátor-minta létrehozásához használt fejlesztői környezetet fog előkészíteni.

  1. Töltse le a legújabb CMake buildrendszert.

    Fontos

    A telepítés megkezdése előtt győződjön meg arról, hogy a Visual Studio előfeltételei (a Visual Studio és az asztali fejlesztés C++-tal) telepítve vannak a CMake számítógépen. Ha az előfeltételek telepítve vannak, és ellenőrizte a letöltött fájlt, telepítse a CMake buildelési rendszert. Vegye figyelembe azt is, hogy a CMake buildrendszer régebbi verziói nem tudják létrehozni a cikkben használt megoldásfájlt. Ügyeljen arra, hogy a CMake legújabb verzióját használja.

  2. Nyisson meg egy webböngészőt, és nyissa meg az Azure IoT C SDK kiadási lapját.

  3. Válassza a Lap tetején található Címkék lapot.

  4. Másolja ki az Azure IoT C SDK legújabb kiadásának címkéjét.

  5. Nyisson meg egy parancssort vagy a Git Bash-felületet. Futtassa az alábbi parancsokat az Azure IoT Device SDK for C GitHub-adattár legújabb kiadásának klónozásához. Cserélje le <release-tag> az előző lépésben másolt címkére, például: lts_01_2023.

    git clone -b <release-tag> https://github.com/Azure/azure-iot-sdk-c.git
    cd azure-iot-sdk-c
    git submodule update --init
    

    A művelet végrehajtása több percet is igénybe vehet.

  6. Ha a művelet befejeződött, futtassa a következő parancsokat a azure-iot-sdk-c könyvtárból:

    mkdir cmake
    cd cmake
    
  1. Nyisson meg egy Git CMD- vagy Git Bash-parancssori környezetet.

  2. Klónozza az Azure IoT SDK for C# GitHub-adattárat a következő paranccsal:

    git clone https://github.com/Azure/azure-iot-sdk-csharp.git
    
  1. Nyisson meg egy Git CMD- vagy Git Bash-parancssori környezetet.

  2. Klónozza az azure-utpm-c GitHub-adattárat a következő paranccsal:

    git clone https://github.com/Azure/azure-utpm-c.git --recursive
    
  1. Nyisson meg egy Git CMD- vagy Git Bash-parancssori környezetet.

  2. Klónozza a Java GitHub-adattárat a következő paranccsal:

    git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
    

A TPM-eszközszimulátor létrehozása és futtatása

Ebben a szakaszban a TPM-szimulátort fogja létrehozni és futtatni. Ez a szimulátor a 2321-es és a 2322-es portokon lévő szoftvercsatornán keresztül figyel. Ne zárja be a parancsablakot. Ennek a szimulátornak a rövid útmutató végéig futnia kell.

  1. Futtassa a következő parancsot az Azure IoT C SDK létrehozásához, amely tartalmazza a TPM-eszközszimulátor mintakódját. A rendszer létrehoz egy Visual Studio-megoldást a szimulált eszközhöz a cmake címtárban. Ez a minta TPM igazolási mechanizmust nyújt közös hozzáférésű jogosultságkód- (SAS-) jogkivonat hitelesítésével.

    cmake -Duse_prov_client:BOOL=ON -Duse_tpm_simulator:BOOL=ON ..
    

    Tipp.

    Ha cmake nem találja a C++ fordítót, a fenti parancs futtatásakor buildelési hibák léphetnek fel. Ha ez történik, futtassa a parancsot a Visual Studio parancssorában.

  2. Ha a build sikeres, az utolsó néhány kimeneti sor az alábbi kimenethez hasonlóan néz ki:

    $ cmake -Duse_prov_client:BOOL=ON ..
    -- Building for: Visual Studio 16 2019
    -- The C compiler identification is MSVC 19.23.28107.0
    -- The CXX compiler identification is MSVC 19.23.28107.0
    
    ...
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/code/azure-iot-sdk-c/cmake
    
  3. Nyissa meg a klónozott Git-adattár gyökérmappáját.

  4. Futtassa a TPM-szimulátort az alábbi útvonalon.

    cd ..
    .\provisioning_client\deps\utpm\tools\tpm_simulator\Simulator.exe
    

    A szimulátor nem jelenít meg kimenetet. Futtassa tovább, miközben TPM-eszközt szimulál.

  1. Nyissa meg a GitHub gyökérmappát.

  2. Futtassa a TPM-szimulátort , hogy a szimulált eszköz HSM-je legyen.

    .\azure-utpm-c\tools\tpm_simulator\Simulator.exe
    
  3. Hozzon létre egy új, registerdevice nevű üres mappát. A registerdevice mappában hozzon létre egy package.json fájlt a parancssorban található alábbi paranccsal (mindenképpen válaszoljon az összes feltett kérdésrenpm, vagy fogadja el az alapértelmezett beállításokat, ha azok megfelelnek Önnek):

    npm init
    
  4. Telepítse a következő előzetes csomagokat:

    npm install node-gyp -g
    npm install ffi-napi -g
    

    Feljegyzés

    A fenti csomagok telepítése során ismert problémák fordulhatnak elő. Ezen problémák elhárításához futtassa az npm install --global --production windows-build-tools parancsot a parancssorból Futtatás rendszergazdaként módban, majd futtassa a SET VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140 parancsot, amelyben a telepített verziónak megfelelően cserélje le az útvonalat, végül pedig futtassa újra a fenti telepítési parancsokat.

  5. Telepítse az összes szükséges csomagot, amely a következő parancsot futtatja a parancssorban a registerdevice mappában:

    npm install --save azure-iot-device azure-iot-device-mqtt azure-iot-security-tpm azure-iot-provisioning-device-http azure-iot-provisioning-device
    

    A parancs a következő csomagokat telepíti:

    • A TPM-sel működő biztonsági ügyfél: azure-iot-security-tpm

    • Az eszköz átvitele a Device Provisioning Service-hez való csatlakozáshoz: vagy azure-iot-provisioning-device-httpazure-iot-provisioning-device-amqp

    • Az átviteli és biztonsági ügyfelet használó ügyfél: azure-iot-provisioning-device

    • Az eszközügyfél: azure-iot-device

    • Szállítás: bármely azure-iot-device-amqp, azure-iot-device-mqttvagy azure-iot-device-http

    • A már telepített biztonsági ügyfél: azure-iot-security-tpm

      Feljegyzés

      Az ebben a rövid útmutatóban szereplő minták az és azure-iot-device-mqtt a azure-iot-provisioning-device-http szállítmányokat használják.

  6. Nyisson meg egy szövegszerkesztőt a választási lehetőségek közül.

  7. A registerdevice mappában hozzon létre egy új ExtractDevice.js fájlt.

  8. Adja hozzá a következő require utasításokat az ExtractDevice.js fájl elejéhez:

    
    'use strict';
    
    var tpmSecurity = require('azure-iot-security-tpm');
    var tssJs = require("tss.js");
    
    var myTpm = new tpmSecurity.TpmSecurityClient(undefined, new tssJs.Tpm(true));
    
  9. Adja hozzá az alábbi függvényt a metódus megvalósításához:

    
    myTpm.getEndorsementKey(function(err, endorsementKey) {
      if (err) {
        console.log('The error returned from get key is: ' + err);
      } else {
        console.log('the endorsement key is: ' + endorsementKey.toString('base64'));
        myTpm.getRegistrationId((getRegistrationIdError, registrationId) => {
          if (getRegistrationIdError) {
            console.log('The error returned from get registration id is: ' + getRegistrationIdError);
          } else {
            console.log('The Registration Id is: ' + registrationId);
            process.exit();
          }
        });
      }
    });
    
  10. Mentse és zárja be az ExtractDevice.js fájlt.

    node ExtractDevice.js
    
  11. Futtassa a mintát.

  12. A kimeneti ablakban megjelenik az eszközregisztrációhoz szükséges jóváhagyási kulcs és regisztrációs azonosító. Másolja ki ezeket az értékeket.

  1. Futtassa a TPM-szimulátort , hogy a szimulált eszköz HSM-je legyen.

  2. Válassza a Hozzáférés engedélyezése lehetőséget. A szimulátor egy szoftvercsatornát figyel a 2321-es és a 2322-es porton. Ne zárja be ezt a parancsablakot; a rövid útmutató végéig futtatnia kell ezt a szimulátort.

    .\azure-iot-sdk-java\provisioning\provisioning-tools\tpm-simulator\Simulator.exe
    

    TPM Simulator

  3. Nyisson meg egy második parancssort.

  4. A második parancssorban keresse meg a gyökérmappát, és hozza létre a mintafüggőségeket.

    cd azure-iot-sdk-java
    mvn install -DskipTests=true
    
  5. Lépjen a mintamappára.

    cd provisioning/provisioning-samples/provisioning-tpm-sample
    

Titkosítási kulcsok olvasása a TPM-eszközből

Ebben a szakaszban létrehoz és végrehajt egy mintát, amely beolvassa a jóváhagyási kulcsot és a regisztrációs azonosítót a futó TPM-szimulátorból, és továbbra is figyeli a 2321-es és a 2322-es portot. A rendszer ezeket az értékeket használja az eszköz regisztrációjához a Device Provisioning Service-példány esetében.

  1. Indítsa el a Visual Studiót.

  2. Nyissa meg a létrehozott megoldást a cmake nevű azure_iot_sdks.slnmappában.

  3. A Visual Studio menüjében válassza a Build>Build Solution (Létrehozás > Megoldás létrehozása) menüpontot a megoldásban lévő összes projekt létrehozásához.

  4. A Visual Studio Megoldáskezelő ablakában keresse meg a Provision_Tools mappát. Kattintson a jobb gombbal a tpm_device_provision projektre, és válassza a Set as Startup Project (Beállítás kezdőprojektként) lehetőséget.

  5. A Visual Studio menüjében válassza a Debug>Start without debugging (Hibakeresés > Indítás hibakeresés nélkül) lehetőséget a megoldás futtatásához. Az alkalmazás beolvassa és megjeleníti a regisztrációs azonosítót és a jóváhagyási kulcsot. Jegyezze fel vagy másolja ki ezeket az értékeket. Ezeket a következő szakaszban fogjuk használni az eszközregisztrációhoz.

  1. Jelentkezzen be az Azure Portalra, válassza a bal oldali menü Minden erőforrás gombját, és nyissa meg a Device Provisioning Service szolgáltatást. Jegyezze fel az Azonosító hatóköre és a Kiépítési szolgáltatás globális végpontja értéket.

    Device Provisioning Service information

  2. Szerkessze az src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningTpmSample.java fájlt, hogy az tartalmazza a korábban feljegyzett Azonosító hatóköre és Kiépítési szolgáltatás globális végpontja értéket.

    private static final String idScope = "[Your ID scope here]";
    private static final String globalEndpoint = "[Your Provisioning Service Global Endpoint here]";
    private static final ProvisioningDeviceClientTransportProtocol PROVISIONING_DEVICE_CLIENT_TRANSPORT_PROTOCOL = ProvisioningDeviceClientTransportProtocol.HTTPS;
    
  3. Mentse a fájlt.

  4. A következő parancsokkal hozza létre a projektet, keresse meg a célmappát, és hajtsa végre a létrehozott .jar fájlt (cserélje le {version}a Java-verzióra):

    mvn clean install
    cd target
    java -jar ./provisioning-tpm-sample-{version}-with-deps.jar
    
  5. Amikor a program elindul, megjelenik az ellenőrző kulcs és a regisztrációs azonosító. Másolja ki ezeket az értékeket a következő szakaszhoz. Győződjön meg arról, hogy a program fut.

Ebben a szakaszban létrehoz és végrehajt egy mintát, amely beolvassa a TPM 2.0 hardveres biztonsági modul jóváhagyási kulcsát. Ez az érték a Device Provisioning Service-példányhoz tartozó eszközregisztrációhoz lesz felhasználva.

  1. Egy parancssorban módosítsa a könyvtárakat a TPM-eszközkiépítési minta projektkönyvtárára.

    cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\TpmSample\'
    
  2. Írja be az alábbi parancsot, és futtassa a TPM-eszközkiépítési mintát. Másolja ki a TPM 2.0 hardveres biztonsági modulból visszaadott ellenőrző kulcsot, hogy később használhassa az eszköz regisztrálásakor.

    dotnet run -- -e
    

Eszközregisztrációs bejegyzés létrehozása

  1. Jelentkezzen be az Azure Portalra , és keresse meg a Device Provisioning Service-példányt.

  2. A navigációs menü Gépház szakaszában válassza a Regisztrációkkezelése lehetőséget.

  3. Válassza az Egyéni regisztrációk lapot, majd az Egyéni regisztráció hozzáadása lehetőséget.

    Screenshot that shows the add individual enrollment option.

  4. A Regisztráció hozzáadása lap Regisztráció + kiépítés lapján adja meg a következő információkat a regisztráció részleteinek konfigurálásához:

    Mező Leírás
    Igazolás Az igazolási mechanizmusként válassza a Megbízható platform modul (TPM) lehetőséget.
    A megbízható platformmodul (TPM) beállításai Adja meg a regisztrációs eszköz ellenőrzéséhez használt ellenőrző kulcsot. Az ellenőrző kulcsot lekérheti az eszköz TPM-éből.
    Regisztrációs azonosító Adja meg az eszköz egyedi regisztrációs azonosítóját. A regisztrációs azonosítót lekérheti az eszköz TPM-éből.
    Kiépítés állapota Jelölje be a Regisztráció engedélyezése jelölőnégyzetet, ha azt szeretné, hogy ez a regisztráció elérhető legyen az eszköz kiépítéséhez. Törölje a jelölőnégyzet jelölését, ha le szeretné tiltani a regisztrációt. Ezt a beállítást később módosíthatja.
    Szabályzat újraépítése Válasszon újraépítési szabályzatot, amely tükrözi, hogy a DPS hogyan kezelje az újraépítést kérő eszközöket. További információ: Újraépítési szabályzatok.
  5. Válassza a Tovább: IoT Hubs lehetőséget.

  6. A Regisztráció hozzáadása lap IoT Hubs lapján adja meg az alábbi információkat annak megállapításához, hogy a regisztráció mely IoT Hubokon helyezhet üzembe eszközöket:

    Mező Leírás
    Cél IoT Hubok Válasszon ki egy vagy több csatolt IoT Hubot, vagy adjon hozzá egy új hivatkozást egy IoT Hubhoz. Ha többet szeretne tudni az IoT Hubok DPS-példányhoz való csatolásáról, olvassa el az IoT Hubok csatolása és kezelése című témakört.
    Foglalási szabályzat Ha egynél több csatolt IoT Hubot jelölt ki, válassza ki, hogyan szeretné az eszközöket a különböző központokhoz rendelni. A foglalási szabályzatokkal kapcsolatos további információkért tekintse meg a kiosztási szabályzatok használatát ismertető témakört.

    Ha csak egy csatolt IoT Hubot jelölt ki, javasoljuk, hogy használja az Egyenletesen súlyozott terjesztési szabályzatot.
  7. Válassza a Tovább elemet : Eszközbeállítások

  8. A Regisztráció hozzáadása lap Eszközbeállítások lapján adja meg az alábbi információkat az újonnan kiépített eszközök konfigurálásának meghatározásához:

    Mező Leírás
    Eszközazonosító Adjon meg egy eszközazonosítót, amely hozzá lesz rendelve a kiépített eszközhöz az IoT Hubban. Ha nem ad meg eszközazonosítót, a rendszer a regisztrációs azonosítót fogja használni.
    IoT Edge Ellenőrizze az IoT Edge engedélyezését a kiépített eszközökön, ha a kiépített eszköz az Azure IoT Edge-et fogja futtatni. Törölje a jelölőnégyzet jelölését, ha ez a regisztráció nem IoT Edge-kompatibilis eszközhöz készült.
    Eszközcímkék Ezzel a szövegmezővel megadhatja azokat a címkéket, amelyeket alkalmazni szeretne a kiépített eszköz ikereszközére.
    Kívánt tulajdonságok Ezzel a szövegmezővel megadhatja azokat a kívánt tulajdonságokat, amelyeket alkalmazni szeretne a kiépített eszköz ikereszközére.

    További információ: Eszközök ikerállapotának megismerése és használata az IoT hubon.

  9. Válassza a Tovább: Ellenőrzés és létrehozás lehetőségre.

  10. A Véleményezés + létrehozás lapon ellenőrizze az összes értéket, majd válassza a Létrehozás lehetőséget.

A rövid útmutató C# TPM-mintája nem ad meg regisztrációs azonosítót. Amikor a rendszer kéri, hogy adjon hozzá egyet az egyéni regisztrációhoz, adja meg a saját értékét.

  1. Jelentkezzen be az Azure Portalra , és keresse meg a Device Provisioning Service-példányt.

  2. A navigációs menü Gépház szakaszában válassza a Regisztrációkkezelése lehetőséget.

  3. Válassza az Egyéni regisztrációk lapot, majd az Egyéni regisztráció hozzáadása lehetőséget.

    Screenshot that shows the add individual enrollment option.

  4. A Regisztráció hozzáadása lap Regisztráció + kiépítés lapján adja meg a következő információkat a regisztráció részleteinek konfigurálásához:

    Mező Leírás
    Igazolás Az igazolási mechanizmusként válassza a Megbízható platform modul (TPM) lehetőséget.
    A megbízható platformmodul (TPM) beállításai Adja meg a regisztrációs eszköz ellenőrzéséhez használt ellenőrző kulcsot. Az ellenőrző kulcsot lekérheti az eszköz TPM-éből.
    Regisztrációs azonosító Adja meg az eszköz egyedi regisztrációs azonosítóját. A regisztrációs azonosítót lekérheti az eszköz TPM-éből.
    Kiépítés állapota Jelölje be a Regisztráció engedélyezése jelölőnégyzetet, ha azt szeretné, hogy ez a regisztráció elérhető legyen az eszköz kiépítéséhez. Törölje a jelölőnégyzet jelölését, ha le szeretné tiltani a regisztrációt. Ezt a beállítást később módosíthatja.
    Szabályzat újraépítése Válasszon újraépítési szabályzatot, amely tükrözi, hogy a DPS hogyan kezelje az újraépítést kérő eszközöket. További információ: Újraépítési szabályzatok.
  5. Válassza a Tovább: IoT Hubs lehetőséget.

  6. A Regisztráció hozzáadása lap IoT Hubs lapján adja meg az alábbi információkat annak megállapításához, hogy a regisztráció mely IoT Hubokon helyezhet üzembe eszközöket:

    Mező Leírás
    Cél IoT Hubok Válasszon ki egy vagy több csatolt IoT Hubot, vagy adjon hozzá egy új hivatkozást egy IoT Hubhoz. Ha többet szeretne tudni az IoT Hubok DPS-példányhoz való csatolásáról, olvassa el az IoT Hubok csatolása és kezelése című témakört.
    Foglalási szabályzat Ha egynél több csatolt IoT Hubot jelölt ki, válassza ki, hogyan szeretné az eszközöket a különböző központokhoz rendelni. A foglalási szabályzatokkal kapcsolatos további információkért tekintse meg a kiosztási szabályzatok használatát ismertető témakört.

    Ha csak egy csatolt IoT Hubot jelölt ki, javasoljuk, hogy használja az Egyenletesen súlyozott terjesztési szabályzatot.
  7. Válassza a Tovább elemet : Eszközbeállítások

  8. A Regisztráció hozzáadása lap Eszközbeállítások lapján adja meg az alábbi információkat az újonnan kiépített eszközök konfigurálásának meghatározásához:

    Mező Leírás
    Eszközazonosító Adjon meg egy eszközazonosítót, amely hozzá lesz rendelve a kiépített eszközhöz az IoT Hubban. Ha nem ad meg eszközazonosítót, a rendszer a regisztrációs azonosítót fogja használni.
    IoT Edge Ellenőrizze az IoT Edge engedélyezését a kiépített eszközökön, ha a kiépített eszköz az Azure IoT Edge-et fogja futtatni. Törölje a jelölőnégyzet jelölését, ha ez a regisztráció nem IoT Edge-kompatibilis eszközhöz készült.
    Eszközcímkék Ezzel a szövegmezővel megadhatja azokat a címkéket, amelyeket alkalmazni szeretne a kiépített eszköz ikereszközére.
    Kívánt tulajdonságok Ezzel a szövegmezővel megadhatja azokat a kívánt tulajdonságokat, amelyeket alkalmazni szeretne a kiépített eszköz ikereszközére.

    További információ: Eszközök ikerállapotának megismerése és használata az IoT hubon.

  9. Válassza a Tovább: Ellenőrzés és létrehozás lehetőségre.

  10. A Véleményezés + létrehozás lapon ellenőrizze az összes értéket, majd válassza a Létrehozás lehetőséget.

Eszköz regisztrálása

Ebben a szakaszban a mintakódot úgy konfigurálja, hogy az Advanced Message Queuing Protocol (AMQP) használatával küldje el az eszköz rendszerindítási sorozatát a Device Provisioning Service-példánynak. Ez a rendszerindítási sorozat miatt az eszköz regisztrálva lesz a Device Provisioning Service-példányhoz társított IoT Hubon.

  1. Az Azure Portalon válassza az Eszközkiépítési szolgáltatás Áttekintés lapját.

  2. Másolja ki az azonosító hatókörének értékét.

    Extract Device Provisioning Service endpoint information from the portal

  3. A Visual Studio Megoldáskezelő ablakában keresse meg a Provision_Samples mappát. Bontsa ki a prov_dev_client_sample nevű mintaprojektet. Bontsa ki a Forrásfájlok elemet, és nyissa meg a prov_dev_client_sample.c fájlt.

  4. A fájl elején keresse meg az eszközprotokollok #define utasításait az alábbi módon. Győződjön meg arról, hogy csak a SAMPLE_AMQP ne legyen ellátva megjegyzéssel.

    Az MQTT protokoll jelenleg nem támogatott a TPM egyéni regisztrációjához.

    //
    // The protocol you wish to use should be uncommented
    //
    //#define SAMPLE_MQTT
    //#define SAMPLE_MQTT_OVER_WEBSOCKETS
    #define SAMPLE_AMQP
    //#define SAMPLE_AMQP_OVER_WEBSOCKETS
    //#define SAMPLE_HTTP
    
  5. Keresse meg az id_scope állandót, és cserélje le az értékét a korábban kimásolt Azonosító hatóköre értékre.

    static const char* id_scope = "0ne00002193";
    
  6. Keresse meg a main() függvény definícióját ugyanebben a fájlban. Győződjön meg arról, hogy SECURE_DEVICE_TYPE_TPM a hsm_type változó az alábbi módon van beállítva.

    SECURE_DEVICE_TYPE hsm_type;
    hsm_type = SECURE_DEVICE_TYPE_TPM;
    //hsm_type = SECURE_DEVICE_TYPE_X509;
    //hsm_type = SECURE_DEVICE_TYPE_SYMMETRIC_KEY;
    
  7. Kattintson a jobb gombbal a prov_dev_client_sample projektre, és válassza a Beállítás indítási projektként lehetőséget.

  8. A Visual Studio menüjében válassza a Debug>Start without debugging (Hibakeresés > Indítás hibakeresés nélkül) lehetőséget a megoldás futtatásához. A projekt újraépítésére vonatkozó kérdésben válassza az Igen lehetőséget a projekt újraépítéséhez a futtatás előtt.

    Az alábbi példakimeneten az látható, hogy az eszközregisztrációs mintaügyfél sikeresen elindul, és csatalakozik a Device Provisioning Service példányához az IoT Hub adatainak lekérése és a regisztráció céljából:

    Provisioning API Version: 1.2.7
    
    Registering... Press enter key to interrupt.
    
    Provisioning Status: PROV_DEVICE_REG_STATUS_CONNECTED
    Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING
    Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING
    
    Registration Information received from service:
    test-docs-hub.azure-devices.net, deviceId: test-docs-cert-device
    
  1. Az Azure Portalon válassza az Eszközkiépítési szolgáltatás Áttekintés lapját.

  2. Másolja ki az azonosító hatókörének értékét.

    Copy provisioning service Scope ID from the portal blade

  3. Egy parancssorban módosítsa a könyvtárakat a TPM-eszközkiépítési minta projektkönyvtárára.

     cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\TpmSample\'
    
  4. Futtassa a következő parancsot az eszköz regisztrálásához. Cserélje le <IdScope> a másolt DPS értékét és <RegistrationId> az eszközregisztráció létrehozásakor használt értéket.

    dotnet run -- -s <IdScope> -r <RegistrationId>
    

    Ha az eszközregisztráció sikeres volt, a következő üzenet jelenik meg:

    Initializing security using the local TPM...
    Initializing the device provisioning client...
    Initialized for registration Id <RegistrationId>.
    Registering with the device provisioning service...
    Registration status: Assigned.
    Device <RegistrationId> registered to <HubName>.azure-devices.net.
    Creating TPM authentication for IoT Hub...
    Testing the provisioned device with IoT Hub...
    Sending a telemetry message...
    Finished.
    
  1. Az Azure Portalon válassza az Eszközkiépítési szolgáltatás Áttekintés lapját.

  2. Másolja ki az azonosító hatókörének értékét.

    Extract Device Provisioning Service endpoint information from the portal blade

  3. Nyisson meg egy tetszőleges szövegszerkesztőt.

  4. A registerdevice mappában hozzon létre egy új RegisterDevice.js fájlt.

  5. Adja hozzá a következő require utasításokat a RegisterDevice.js fájl elejéhez:

    
    'use strict';
    
    var ProvisioningTransport = require('azure-iot-provisioning-device-http').Http;
    var iotHubTransport = require('azure-iot-device-mqtt').Mqtt;
    var Client = require('azure-iot-device').Client;
    var Message = require('azure-iot-device').Message;
    var tpmSecurity = require('azure-iot-security-tpm');
    var ProvisioningDeviceClient = require('azure-iot-provisioning-device').ProvisioningDeviceClient;
    

    Feljegyzés

    Az Azure IoT SDK for Node.js támogatja az olyan további protokollokat, mint az AMQP, az AMQP WS és az MQTT WS. További példák: Device Provisioning Service SDK for Node.js-minták.

  6. Adjon hozzá egy globalDeviceEndpoint és egy idScope változót, és ezek használatával hozzon létre egy ProvisioningDeviceClient példányt. A {globalDeviceEndpoint} és az {idScope} elemeket cserélje le az 1. lépésből származó Globális eszközvégpont és Azonosító hatókörére elemekre:

    
    var provisioningHost = '{globalDeviceEndpoint}';
    var idScope = '{idScope}';
    
    var tssJs = require("tss.js");
    var securityClient = new tpmSecurity.TpmSecurityClient('', new tssJs.Tpm(true));
    // if using non-simulated device, replace the above line with following:
    //var securityClient = new tpmSecurity.TpmSecurityClient();
    
    var provisioningClient = ProvisioningDeviceClient.create(provisioningHost, idScope, new ProvisioningTransport(), securityClient);
    
  7. Adja hozzá az alábbi függvényt a metódus megvalósításához az eszközön:

    
    provisioningClient.register(function(err, result) {
      if (err) {
        console.log("error registering device: " + err);
      } else {
        console.log('registration succeeded');
        console.log('assigned hub=' + result.registrationState.assignedHub);
        console.log('deviceId=' + result.registrationState.deviceId);
        var tpmAuthenticationProvider = tpmSecurity.TpmAuthenticationProvider.fromTpmSecurityClient(result.registrationState.deviceId, result.registrationState.assignedHub, securityClient);
        var hubClient = Client.fromAuthenticationProvider(tpmAuthenticationProvider, iotHubTransport);
    
        var connectCallback = function (err) {
          if (err) {
            console.error('Could not connect: ' + err.message);
          } else {
            console.log('Client connected');
            var message = new Message('Hello world');
            hubClient.sendEvent(message, printResultFor('send'));
          }
        };
    
        hubClient.open(connectCallback);
    
        function printResultFor(op) {
          return function printResult(err, res) {
            if (err) console.log(op + ' error: ' + err.toString());
            if (res) console.log(op + ' status: ' + res.constructor.name);
            process.exit(1);
          };
        }
      }
    });
    
  8. Mentse és zárja be a RegisterDevice.js fájlt.

  9. Futtassa az alábbi parancsot:

    node RegisterDevice.js
    
  10. Figyelje meg az eszköz rendszerindítását szimuláló és az eszközkiépítési szolgáltatáshoz az IoT Hub információk lekérése érdekében kapcsolódó üzeneteket.

  1. A számítógépen a Java-mintakódot futtató parancsablakban nyomja le az Enter billentyűt az alkalmazás futtatásának folytatásához. Figyelje meg az eszköz rendszerindítását szimuláló és az eszközkiépítési szolgáltatáshoz az IoT Hub információk lekérése érdekében kapcsolódó üzeneteket.

    Java TPM device program final

Eszközkiépítési regisztráció megerősítése

  1. Jelentkezzen be az Azure Portalra.

  2. A bal oldali menüben vagy a portállapon válassza a Minden erőforrás lehetőséget.

  3. Válassza ki azt az IoT Hubot, amelyhez az eszköz hozzá lett rendelve.

  4. Az Explorers menüben válassza az IoT-eszközök lehetőséget.

  1. Ha az eszköz kiépítése sikeresen megtörtént, az eszközazonosítónak meg kell jelennie a listában, és az Állapot beállítás engedélyezve van. Ha nem látja az eszközt, válassza a Frissítés lehetőséget a lap tetején.

    Device is registered with the IoT hub for C

  1. Ha az eszköz kiépítése sikeresen megtörtént, az eszközazonosítónak meg kell jelennie a listában, és az Állapot beállítás engedélyezve van. Ha nem látja az eszközt, válassza a Frissítés lehetőséget a lap tetején.

    Device is registered with the IoT hub for C#

  1. Ha az eszköz kiépítése sikeresen megtörtént, az eszközazonosítónak meg kell jelennie a listában, és az Állapot beállítás engedélyezve van. Ha nem látja az eszközt, válassza a Frissítés lehetőséget a lap tetején.

    Device is registered with the IoT hub for Node.js

  1. Ha az eszköz kiépítése sikeresen megtörtént, az eszközazonosítónak meg kell jelennie a listában, és az Állapot beállítás engedélyezve van. Ha nem látja az eszközt, válassza a Frissítés lehetőséget a lap tetején.

    Device is registered with the IoT hub

Feljegyzés

Ha módosította az Eszköz kezdeti ikerállapota alapértelmezett értékét az eszköz beléptetési bejegyzésében, az lekérheti és felhasználhatja a kívánt ikerállapotot a központból. További információ: Eszközök ikerállapotának megismerése és használata az IoT hubon.

Az erőforrások eltávolítása

Ha folytatni szeretné az eszközügyfél-minta használatát és felderítését, ne törölje az ebben a rövid útmutatóban létrehozott erőforrásokat. Ha nem tervezi a folytatást, az alábbi lépésekkel törölheti a rövid útmutató által létrehozott összes erőforrást.

Eszközregisztráció törlése

  1. Zárja be az eszközügyfél minta kimeneti ablakát a gépen.

  2. Az Azure Portal bal oldali menüjében válassza a Minden erőforrás lehetőséget.

  3. Válassza ki az Eszközkiépítési szolgáltatást.

  4. A Gépház menüben válassza a Regisztrációk kezelése lehetőséget.

  5. Válassza az Egyéni regisztrációk lapot.

  6. Jelölje be az ebben a rövid útmutatóban regisztrált eszköz regisztrációs azonosítója melletti jelölőnégyzetet.

  7. Az oldal tetején válassza a Törlés lehetőséget.

Eszközregisztráció törlése az IoT Hubról

  1. Az Azure Portal bal oldali menüjében válassza a Minden erőforrás lehetőséget.

  2. Válassza ki az IoT Hubot.

  3. Az Explorers menüben válassza az IoT-eszközök lehetőséget.

  4. Jelölje be az ebben a rövid útmutatóban regisztrált eszköz eszközazonosítója melletti jelölőnégyzetet.

  5. Az oldal tetején válassza a Törlés lehetőséget.

Következő lépések

Ebben a rövid útmutatóban egyetlen eszközt adott ki az IoT Hubra egy egyéni regisztrációval. Ezután megtudhatja, hogyan építhet ki több eszközt több központban.