Membuat sertifikat demo untuk menguji fitur perangkat IoT Edge

Berlaku untuk:Tanda centang IoT Edge 1.5 IoT Edge 1.5 Tanda centang IoT Edge 1.4 IoT Edge 1.4

Penting

IoT Edge 1.5 LTS dan IoT Edge 1.4 LTS adalah rilis yang didukung. IoT Edge 1.4 LTS adalah akhir masa pakai pada 12 November 2024. Jika Anda menggunakan rilis sebelumnya, lihat Memperbarui IoT Edge.

Perangkat IoT Edge memerlukan sertifikat untuk komunikasi yang aman antara runtime, modul, dan perangkat hilir apa pun. Jika tidak memiliki otoritas sertifikat untuk membuat sertifikat yang diperlukan, Anda dapat menggunakan sertifikat demo untuk mencoba fitur IoT Edge di lingkungan pengujian. Artikel ini menjelaskan fungsionalitas skrip pembuatan sertifikat yang disediakan IoT Edge untuk pengujian.

Peringatan

Sertifikat tersebut kedaluwarsa dalam 30 hari, dan tidak boleh digunakan dalam skenario produksi apa pun.

Anda dapat membuat sertifikat di komputer apa pun lalu menyalinnya ke perangkat IoT Edge Anda, atau membuat sertifikat langsung di perangkat IoT Edge.

Prasyarat

Mesin pengembangan dengan Git terpasang.

Mengunduh skrip sertifikat pengujian dan menyiapkan direktori kerja

Repositori IoT Edge di GitHub mencakup skrip pembuatan sertifikat yang dapat digunakan untuk membuat sertifikat demo. Bagian ini menyediakan instruksi untuk mempersiapkan skrip yang akan dijalankan di komputer Anda, baik di Windows atau Linux.

Untuk membuat sertifikat demo di perangkat Windows, Anda perlu memasang OpenSSL lalu mengkloning skrip pembuatan dan menyiapkannya untuk dijalankan secara lokal di PowerShell.

Memasang OpenSSL

Pasang OpenSSL untuk Windows pada komputer yang Anda gunakan untuk membuat sertifikat. Jika sudah memasang OpenSSL di perangkat Windows Anda, pastikan openssl.exe tersedia di variabel lingkungan PATH Anda.

Ada beberapa cara untuk memasang OpenSSL, termasuk opsi berikut:

  • Lebih mudah: Unduh dan instal biner OpenSSL pihak ketiga, misalnya, dari OpenSSL di SourceForge. Tambahkan jalur lengkap ke openssl.exe untuk variabel lingkungan PATH Anda.

  • Direkomendasikan: Unduh kode sumber OpenSSL dan bangun biner di komputer Anda sendiri atau melalui vcpkg. Instruksi yang tercantum di bawah ini menggunakan vcpkg untuk mengunduh kode sumber, mengompilasi, dan memasang OpenSSL di komputer Windows Anda dengan langkah mudah.

    1. Navigasikan ke direktori tempat Anda ingin memasang vcpkg. Ikuti instruksi untuk mengunduh dan memasang vcpkg.

    2. Setelah vcpkg dipasang, jalankan perintah berikut dari perintah PowerShell untuk memasang paket OpenSSL untuk Windows x64. Penginstalan biasanya membutuhkan waktu sekitar 5 menit untuk selesai.

      .\vcpkg install openssl:x64-windows
      
    3. Tambahkan <vcpkg path>\installed\x64-windows\tools\openssl ke variabel lingkungan PATH Anda sehingga file openssl.exe tersedia untuk invokasi.

Mempersiapkan skrip di PowerShell

Repositori git Azure IoT Edge berisi skrip yang dapat Anda gunakan untuk membuat sertifikat pengujian. Di bagian ini, Anda mengkloning repositori IoT Edge dan menjalankan skrip.

  1. Buka jendela PowerShell dalam mode administrator.

  2. Kloning repositori git IoT Edge, yang berisi skrip untuk membuat sertifikat demo. Gunakan perintah git clone atau unduh file ZIP.

    git clone https://github.com/Azure/iotedge.git
    
  3. Buat direktori tempat Anda ingin bekerja dan salin skrip sertifikat di sana. Semua file sertifikat dan kunci akan dibuat di dalam direktori ini.

    mkdir wrkdir
    cd .\wrkdir\
    cp ..\iotedge\tools\CACertificates\*.cnf .
    cp ..\iotedge\tools\CACertificates\ca-certs.ps1 .
    

    Jika Anda mengunduh repositori sebagai ZIP, maka nama folder iotedge-master dan jalur lainnya sama.

  4. Aktifkan PowerShell untuk menjalankan skrip.

    Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
    
  5. Bawa fungsi yang digunakan oleh skrip ke dalam namespace global PowerShell.

    . .\ca-certs.ps1
    

    Jendela PowerShell akan menampilkan peringatan bahwa sertifikat yang dihasilkan oleh skrip ini hanya untuk tujuan pengujian, dan tidak boleh digunakan dalam skenario produksi.

  6. Pastikan bahwa OpenSSL telah dipasang dengan benar dan pastikan bahwa tidak akan ada benturan nama dengan sertifikat yang ada. Jika ada masalah, output skrip harus menjelaskan cara memperbaikinya pada sistem Anda.

    Test-CACertsPrerequisites
    

Membuat sertifikat OS akar

Jalankan skrip ini untuk menghasilkan CA akar yang diperlukan untuk setiap langkah dalam artikel ini.

Sertifikat OS akar digunakan untuk membuat semua sertifikat demo lainnya untuk menguji skenario IoT Edge. Anda dapat tetap menggunakan sertifikat OS akar yang sama dengan yang digunakan untuk membuat sertifikat demo bagi beberapa perangkat IoT Edge atau hilir.

Jika Anda sudah memiliki satu sertifikat OS akar di folder kerja Anda, jangan buat sertifikat baru. Sertifikat OS akar baru akan menimpa sertifikat lama, dan sertifikat hilir yang dibuat dari sertifikat lama akan berhenti berfungsi. Jika Anda menginginkan beberapa sertifikat OS akar, pastikan untuk mengelolanya di folder terpisah.

  1. Navigasikan ke direktori wrkdir kerja tempat Anda menempatkan skrip pembuatan sertifikat.

  2. Buat sertifikat OS akar dan tanda tangani satu sertifikat perantara. Semua sertifikat ditempatkan di direktori kerja Anda.

    New-CACertsCertChain rsa
    

    Perintah skrip ini membuat beberapa file kunci dan sertifikat, tetapi jika artikel meminta sertifikat OS akar, gunakan file berikut:

    certs\azure-iot-test-only.root.ca.cert.pem

Sertifikat ini diperlukan sebelum Anda dapat membuat lebih banyak sertifikat untuk perangkat IoT Edge dan perangkat hilir seperti yang dijelaskan di bagian berikutnya.

Membuat sertifikat identitas untuk perangkat IoT Edge

Sertifikat identitas perangkat IoT Edge digunakan untuk memprovisikan perangkat IoT Edge jika Anda memilih untuk menggunakan autentikasi sertifikat X.509. Jika Anda menggunakan kunci konten untuk mengautentikasi ke IoT Hub atau DPS, sertifikat ini tidak diperlukan, dan Anda dapat melewati bagian ini.

Sertifikat tersebut berfungsi ketika Anda menggunakan penyediaan manual maupun penyediaan otomatis melalui Azure IoT Hub Device Provisioning Service (DPS).

Sertifikat identitas perangkat masuk di bagian Penyediaan file konfigurasi pada perangkat IoT Edge.

  1. Navigasikan ke direktori wrkdir kerja yang memiliki skrip pembuatan sertifikat dan sertifikat OS akar.

  2. Buat sertifikat identitas perangkat IoT Edge dan kunci privat dengan perintah berikut:

    New-CACertsEdgeDeviceIdentity "<device-id>"
    

    Nama yang Anda berikan ke perintah ini adalah ID perangkat untuk perangkat IoT Edge di IoT Hub.

  3. Perintah identitas perangkat baru membuat beberapa sertifikat dan file kunci:

    Jenis File Deskripsi
    Sertifikat identitas perangkat certs\iot-edge-device-identity-<device-id>.cert.pem Ditandatangani oleh sertifikat perantara yang dihasilkan sebelumnya. Hanya berisi sertifikat identitas. Tentukan dalam file konfigurasi untuk pendaftaran individu DPS atau provisi IoT Hub.
    Sertifikat rantai penuh certs\iot-edge-device-identity-<device-id>-full-chain.cert.pem Berisi rantai sertifikat lengkap termasuk sertifikat perantara. Tentukan dalam file konfigurasi untuk IoT Edge untuk disajikan ke DPS untuk provisi pendaftaran grup.
    Kunci privat private\iot-edge-device-identity-<device-id>.key.pem Kunci privat yang terkait dengan sertifikat identitas perangkat. Harus ditentukan dalam file konfigurasi selama Anda menggunakan semacam autentikasi sertifikat (thumbprint atau CA) untuk DPS atau IoT Hub.

Membuat sertifikat OS tepi

Sertifikat ini diperlukan untuk skenario gateway karena sertifikat OS tepi adalah bagaimana perangkat IoT Edge memverifikasi identitasnya ke perangkat hilir. Anda dapat melewati bagian ini jika Anda tidak menyambungkan perangkat hilir apa pun ke IoT Edge.

Sertifikat OS tepi juga bertanggung jawab untuk membuat sertifikat untuk modul yang berjalan di perangkat, tetapi runtime IoT Edge dapat membuat sertifikat sementara jika CA tepi tidak dikonfigurasi. Sertifikat CA Edge masuk ke bagian CA Edge dari config.toml file di perangkat IoT Edge. Untuk mempelajari selengkapnya, lihat Memahami cara Azure IoT Edge menggunakan sertifikat.

  1. Navigasikan ke direktori wrkdir kerja yang memiliki skrip pembuatan sertifikat dan sertifikat OS akar.

  2. Buat sertifikat OS dan kunci privat IoT Edge dengan perintah berikut. Berikan nama untuk sertifikat OS. Nama yang diteruskan ke perintah New-CACertsEdgeDevice tidak boleh sama dengan parameter nama host dalam file konfigurasi atau ID perangkat di IoT Hub.

    New-CACertsEdgeDevice "<CA cert name>"
    
  3. Perintah ini membuat beberapa file sertifikat dan kunci. Sertifikat dan pasangan kunci berikut perlu disalin ke perangkat IoT Edge dan direferensikan dalam file konfigurasi:

    • certs\iot-edge-device-ca-<CA cert name>-full-chain.cert.pem
    • private\iot-edge-device-ca-<CA cert name>.key.pem

Membuat sertifikat perangkat hilir

Sertifikat ini diperlukan untuk menyiapkan perangkat IoT hilir untuk skenario gateway dan ingin menggunakan autentikasi X.509 dengan IoT Hub atau DPS. Jika Anda ingin menggunakan autentikasi kunci konten, Anda tidak perlu membuat sertifikat untuk perangkat hilir dan dapat melewati bagian ini.

Ada dua cara untuk mengautentikasi perangkat IoT menggunakan sertifikat X.509: menggunakan sertifikasi yang ditandatangani sendiri atau menggunakan sertifikasi yang ditandatangani otoritas sertifikat (OS).

  • Untuk autentikasi X.509 yang ditandatangani sendiri, terkadang disebut sebagai autentikasi thumbprint , Anda perlu membuat sertifikat baru untuk ditempatkan di perangkat IoT Anda. Sertifikat tersebut memiliki thumbprint di dalamnya yang Anda bagikan dengan IoT Hub untuk autentikasi.
  • Untuk autentikasi yang ditandatangani otoritas sertifikat (CA) X.509, Anda memerlukan sertifikat CA akar yang terdaftar di IoT Hub atau DPS yang Anda gunakan untuk menandatangani sertifikat untuk perangkat IoT Anda. Perangkat apa pun yang menggunakan sertifikat yang dikeluarkan oleh sertifikat OS akar atau sertifikat perantaranya dapat mengautentikasi selama rantai penuh disajikan oleh perangkat.

Skrip pembuatan sertifikat dapat membantu Anda membuat sertifikat demo untuk menguji salah satu skenario autentikasi tersebut.

Sertifikat yang ditandatangani sendiri

Saat mengautentikasi perangkat IoT dengan sertifikat yang ditandatangani sendiri, Anda perlu membuat sertifikat perangkat berdasarkan sertifikat OS akar untuk solusi Anda. Kemudian, Anda mengambil "thumbprint" heksadesimal dari sertifikat yang akan disediakan ke IoT Hub. Perangkat IoT Anda juga memerlukan salinan sertifikat perangkatnya agar dapat mengautentikasi IoT Hub.

  1. Navigasikan ke direktori wrkdir kerja yang memiliki skrip pembuatan sertifikat dan sertifikat OS akar.

  2. Membuat dua sertifikat (primer dan sekunder) untuk perangkat hilir. Konvensi penamaan yang mudah digunakan adalah membuat sertifikat dengan nama perangkat IoT lalu label primer atau sekunder. Contohnya:

    New-CACertsDevice "<device ID>-primary"
    New-CACertsDevice "<device ID>-secondary"
    

    Perintah skrip ini membuat beberapa file sertifikat dan kunci. Sertifikat dan pasangan kunci berikut perlu disalin ke perangkat IoT hilir dan direferensikan dalam aplikasi yang terhubung ke IoT Hub:

    • certs\iot-device-<device ID>-primary-full-chain.cert.pem
    • certs\iot-device-<device ID>-secondary-full-chain.cert.pem
    • certs\iot-device-<device ID>-primary.cert.pem
    • certs\iot-device-<device ID>-secondary.cert.pem
    • certs\iot-device-<device ID>-primary.cert.pfx
    • certs\iot-device-<device ID>-secondary.cert.pfx
    • private\iot-device-<device ID>-primary.key.pem
    • private\iot-device-<device ID>-secondary.key.pem
  3. Ambil thumbprint SHA1 (disebut thumbprint dalam konteks IoT Hub) dari setiap sertifikat. Thumbprint adalah string karakter heksadesimal 40. Gunakan perintah openssl berikut untuk melihat sertifikat dan menemukan thumbprint:

    Write-Host (Get-Pfxcertificate -FilePath certs\iot-device-<device name>-primary.cert.pem).Thumbprint
    

    Jalankan perintah ini dua kali, sekali untuk sertifikat utama dan sekali untuk sertifikat sekunder. Anda memberikan thumbprint untuk kedua sertifikat saat mendaftarkan perangkat IoT baru menggunakan sertifikat X.509 yang ditandatangani sendiri.

Sertifikat bertanda tangan OS

Jika mengautentikasi perangkat IoT dengan sertifikat bertanda tangan OS, Anda perlu mengunggah sertifikat OS akar untuk solusi Anda terhadap IoT Hub. Gunakan sertifikat OS akar yang sama untuk membuat sertifikat perangkat untuk dimasukkan ke perangkat IoT Anda sehingga dapat mengautentikasi dengan IoT Hub.

Sertifikat di bagian ini adalah untuk langkah-langkah dalam seri tutorial sertifikat IoT Hub X.509. Lihat Memahami Kriptografi Kunci Umum dan Infrastruktur Kunci Umum X.509 sebagai pengantar seri ini.

  1. Unggah file sertifikat OS akar dari direktori kerja Anda, certs\azure-iot-test-only.root.ca.cert.pem, ke hub IoT Anda.

  2. Jika verifikasi otomatis tidak dipilih, gunakan kode yang disediakan di portal Azure untuk memverifikasi bahwa Anda memiliki sertifikat OS akar tersebut.

    New-CACertsVerificationCert "<verification code>"
    
  3. Buat rantai sertifikat untuk perangkat hilir Anda. Gunakan ID perangkat yang sama dengan perangkat yang terdaftar di IoT Hub.

    New-CACertsDevice "<device id>"
    

    Perintah skrip ini membuat beberapa file sertifikat dan kunci. Sertifikat dan pasangan kunci berikut perlu disalin ke perangkat IoT hilir dan direferensikan dalam aplikasi yang terhubung ke IoT Hub:

    • certs\iot-device-<device id>.cert.pem
    • certs\iot-device-<device id>.cert.pfx
    • certs\iot-device-<device id>-full-chain.cert.pem
    • private\iot-device-<device id>.key.pem