Tutorial: Membuat dan mengunggah sertifikat untuk pengujian
Anda dapat menggunakan sertifikat X.509 untuk mengautentikasi perangkat ke hub IoT Anda. Untuk lingkungan produksi, kami sarankan Anda membeli sertifikat CA X.509 dari vendor layanan sertifikat profesional. Anda kemudian dapat menerbitkan sertifikat dalam organisasi Anda dari otoritas sertifikat (CA) internal yang dikelola sendiri yang ditautkan ke sertifikat CA yang dibeli sebagai bagian dari strategi infrastruktur kunci publik (PKI) yang komprehensif. Untuk informasi selengkapnya tentang mendapatkan sertifikat CA X.509 dari vendor layanan sertifikat profesional, lihat bagian Mendapatkan sertifikat CA X.509 dari Mengautentikasi perangkat menggunakan sertifikat CA X.509.
Namun, membuat CA privat yang dikelola sendiri yang menggunakan CA akar internal karena jangkar kepercayaan memadai untuk lingkungan pengujian. CA privat yang dikelola sendiri dengan setidaknya satu CA subordinat yang dirantai ke CA akar internal Anda, dengan sertifikat klien untuk perangkat Anda yang ditandatangani oleh CA subordinat Anda, memungkinkan Anda mensimulasikan lingkungan produksi yang direkomendasikan.
Penting
Kami tidak merekomendasikan penggunaan sertifikat yang ditandatangani sendiri untuk lingkungan produksi. Tutorial ini disajikan hanya untuk tujuan demonstrasi.
Tutorial berikut menggunakan OpenSSL dan OpenSSL Cookbook untuk menjelaskan cara menyelesaikan tugas-tugas berikut:
- Membuat otoritas sertifikat akar internal (CA) dan sertifikat OS akar
- Buat CA subordinat internal dan sertifikat OS subordinat, yang ditandatangani oleh sertifikat OS akar internal Anda
- Unggah sertifikat OS subordinat Anda ke hub IoT Anda untuk tujuan pengujian
- Gunakan CA subordinat untuk membuat sertifikat klien untuk perangkat IoT yang ingin Anda uji dengan hub IoT Anda
Catatan
Microsoft menyediakan skrip PowerShell dan Bash untuk membantu Anda memahami cara membuat sertifikat X.509 Anda sendiri dan mengautentikasinya ke hub IoT. Skrip disertakan dengan Azure IoT Hub Device SDK untuk C. Skrip disediakan hanya untuk tujuan demonstrasi. Sertifikat yang dibuat oleh skrip tidak boleh digunakan untuk produksi. Sertifikat berisi kata sandi yang dikodekan secara permanen ("1234") dan kedaluwarsa setelah 30 hari. Anda harus menggunakan praktik terbaik Anda sendiri untuk pembuatan sertifikat dan manajemen seumur hidup di lingkungan produksi. Untuk informasi selengkapnya, lihat Mengelola sertifikat CA pengujian untuk sampel dan tutorial di repositori GitHub untuk Azure IoT Hub Device SDK untuk C.
Prasyarat
Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
IoT Hub di langganan Azure Anda. Jika belum memiliki hub, Anda dapat mengikuti langkah-langkah di Membuat IoT hub.
Versi terbaru Git. Pastikan Git ditambahkan ke variabel lingkungan yang dapat diakses oleh jendela perintah. Lihat alat klien Git Software Freedom Conservancy untuk versi terbaru alat
git
yang akan diinstal, yang mencakup Git Bash, aplikasi baris perintah yang dapat Anda gunakan untuk berinteraksi dengan repositori Git lokal.Penginstalan OpenSSL . Di Windows, penginstalan Git Anda menyertakan penginstalan OpenSSL. Anda dapat mengakses OpenSSL dari prompt Git Bash. Untuk memverifikasi bahwa OpenSSL diinstal, buka perintah Git Bash dan masukkan
openssl version
.Catatan
Kecuali Anda terbiasa dengan OpenSSL dan sudah menginstalnya di komputer Windows Anda, sebaiknya gunakan OpenSSL dari prompt Git Bash. Atau, Anda dapat memilih untuk mengunduh kode sumber dan membangun OpenSSL. Untuk mempelajari selengkapnya, lihat halaman Unduhan OpenSSL. Atau, Anda dapat mengunduh OpenSSL bawaan dari pihak ketiga. Untuk mempelajari lebih lanjut , lihat wiki OpenSSL. Microsoft tidak menjamin tentang validitas paket yang diunduh dari pihak ketiga. Jika Anda memilih untuk membuat atau mengunduh OpenSSL, pastikan biner OpenSSL dapat diakses di jalur Anda dan variabel
OPENSSL_CNF
lingkungan diatur ke jalur file openssl.cnf Anda.
Membuat CA akar
Anda harus terlebih dahulu membuat otoritas sertifikat akar internal (CA) dan sertifikat OS akar yang ditandatangani sendiri untuk berfungsi sebagai jangkar kepercayaan tempat Anda dapat membuat sertifikat lain untuk pengujian. File yang digunakan untuk membuat dan memelihara CA akar internal Anda disimpan dalam struktur folder dan diinisialisasi sebagai bagian dari proses ini. Lakukan langkah-langkah berikut untuk:
- Membuat dan menginisialisasi folder dan file yang digunakan oleh CA akar Anda
- Membuat file konfigurasi yang digunakan oleh OpenSSL untuk mengonfigurasi OS akar dan sertifikat Yang dibuat dengan CA akar Anda
- Meminta dan membuat sertifikat CA yang ditandatangani sendiri yang berfungsi sebagai sertifikat OS akar Anda
Mulai jendela Git Bash dan jalankan perintah berikut, ganti
{base_dir}
dengan direktori yang diinginkan untuk membuat sertifikat dalam tutorial ini.cd {base_dir}
Di jendela Git Bash, jalankan perintah berikut, satu per satu. Langkah ini membuat struktur direktori berikut dan mendukung file untuk CA akar.
Direktori atau file Deskripsi rootca Direktori akar CA akar. rootca/certs Direktori tempat sertifikat CA untuk CA akar dibuat dan disimpan. rootca/db Direktori tempat database sertifikat dan file dukungan untuk CA akar disimpan. rootca/db/index Database sertifikat untuk OS akar. Perintah touch
membuat file tanpa konten apa pun, untuk digunakan nanti. Database sertifikat adalah file teks biasa yang dikelola oleh OpenSSL yang berisi informasi tentang sertifikat yang dikeluarkan. Untuk informasi selengkapnya tentang database sertifikat, lihat halaman manual openssl-ca .rootca/db/serial File yang digunakan untuk menyimpan nomor seri sertifikat berikutnya yang akan dibuat untuk CA akar. Perintah openssl
membuat angka acak 16-byte dalam format heksadesimal, lalu menyimpannya dalam file ini untuk menginisialisasi file untuk membuat sertifikat CA akar.rootca/db/crlnumber File yang digunakan untuk menyimpan nomor seri untuk sertifikat yang dicabut yang dikeluarkan oleh CA akar. echo
Perintah menyalurkan sampel nomor seri, 1001, ke dalam file.rootca/privat Direktori tempat file privat untuk CA akar, termasuk kunci privat, disimpan.
File dalam direktori ini harus diamankan dan dilindungi.mkdir rootca cd rootca mkdir certs db private chmod 700 private touch db/index openssl rand -hex 16 > db/serial echo 1001 > db/crlnumber
Buat file teks bernama
rootca.conf
dirootca
direktori yang dibuat di langkah sebelumnya. Buka file tersebut di editor teks, lalu salin dan simpan pengaturan konfigurasi OpenSSL berikut ke dalam file tersebut.File ini menyediakan OpenSSL dengan nilai yang diperlukan untuk mengonfigurasi CA akar pengujian Anda. Untuk contoh ini, file mengonfigurasi CA akar yang disebut rootca menggunakan direktori dan file yang dibuat di langkah-langkah sebelumnya. File ini juga menyediakan pengaturan konfigurasi untuk:
- Kebijakan CA yang digunakan oleh CA akar untuk bidang Nama Khusus (DN) sertifikat
- Permintaan sertifikat yang dibuat oleh CA akar
- Ekstensi X.509 diterapkan ke sertifikat OS akar, sertifikat CA subordinat, dan sertifikat klien yang dikeluarkan oleh CA akar
Catatan
Atribut
home
, di bagianca_default
, diatur ke../rootca
karena file konfigurasi ini juga digunakan saat membuat sertifikat untuk CA subordinat Anda. Jalur relatif yang ditentukan memungkinkan OpenSSL untuk menavigasi dari folder CA subordinat Anda ke folder CA akar Anda selama proses tersebut.Untuk informasi selengkapnya tentang sintaks file konfigurasi OpenSSL, lihat halaman manual konfigurasi dalam dokumentasi OpenSSL.
[default] name = rootca domain_suffix = exampledomain.com aia_url = http://$name.$domain_suffix/$name.crt crl_url = http://$name.$domain_suffix/$name.crl default_ca = ca_default name_opt = utf8,esc_ctrl,multiline,lname,align [ca_dn] commonName = "rootca_common_name" [ca_default] home = ../rootca database = $home/db/index serial = $home/db/serial crlnumber = $home/db/crlnumber certificate = $home/$name.crt private_key = $home/private/$name.key RANDFILE = $home/private/random new_certs_dir = $home/certs unique_subject = no copy_extensions = none default_days = 3650 default_crl_days = 365 default_md = sha256 policy = policy_c_o_match [policy_c_o_match] countryName = optional stateOrProvinceName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional [req] default_bits = 2048 encrypt_key = yes default_md = sha256 utf8 = yes string_mask = utf8only prompt = no distinguished_name = ca_dn req_extensions = ca_ext [ca_ext] basicConstraints = critical,CA:true keyUsage = critical,keyCertSign,cRLSign subjectKeyIdentifier = hash [sub_ca_ext] authorityKeyIdentifier = keyid:always basicConstraints = critical,CA:true,pathlen:0 extendedKeyUsage = clientAuth,serverAuth keyUsage = critical,keyCertSign,cRLSign subjectKeyIdentifier = hash [client_ext] authorityKeyIdentifier = keyid:always basicConstraints = critical,CA:false extendedKeyUsage = clientAuth keyUsage = critical,digitalSignature subjectKeyIdentifier = hash
Di jendela Git Bash, jalankan perintah berikut untuk menghasilkan permintaan penandatanganan sertifikat (CSR) di
rootca
direktori dan kunci privat dirootca/private
direktori. Untuk informasi selengkapnya tentang perintah OpenSSLreq
, lihat halaman manual openssl-req dalam dokumentasi OpenSSL.Catatan
Meskipun CA akar ini untuk tujuan pengujian dan tidak akan diekspos sebagai bagian dari infrastruktur kunci publik (PKI), kami sarankan Anda tidak menyalin atau berbagi kunci privat.
winpty openssl req -new -config rootca.conf -out rootca.csr -keyout private/rootca.key
Anda diminta untuk memasukkan frasa sandi PEM, seperti yang ditunjukkan dalam contoh berikut, untuk file kunci privat. Masukkan dan konfirmasikan frasa pass untuk menghasilkan kunci privat dan CSR Anda.
Enter PEM pass phrase: Verifying - Enter PEM pass phrase: -----
Konfirmasikan bahwa file CSR,
rootca.csr
, ada dirootca
direktori dan file kunci privat,rootca.key
, ada diprivate
subdirektori sebelum melanjutkan.Di jendela Git Bash, jalankan perintah berikut untuk membuat sertifikat CA akar yang ditandatangani sendiri. Perintah menerapkan
ca_ext
ekstensi file konfigurasi ke sertifikat. Ekstensi ini menunjukkan bahwa sertifikat adalah untuk CA akar dan dapat digunakan untuk menandatangani sertifikat dan daftar pencabutan sertifikat (CRL). Untuk informasi selengkapnya tentang perintah OpenSSLca
, lihat halaman manual openssl-ca di dokumentasi OpenSSL.winpty openssl ca -selfsign -config rootca.conf -in rootca.csr -out rootca.crt -extensions ca_ext
Anda diminta untuk memberikan frasa pass PEM, seperti yang ditunjukkan dalam contoh berikut, untuk file kunci privat. Setelah memberikan frasa pass, OpenSSL menghasilkan sertifikat, lalu meminta Anda untuk menandatangani dan menerapkan sertifikat untuk OS akar Anda. Tentukan y untuk kedua perintah untuk menghasilkan sertifikat yang ditandatangani sendiri untuk CA akar Anda.
Using configuration from rootca.conf Enter pass phrase for ../rootca/private/rootca.key: Check that the request matches the signature Signature ok Certificate Details: {Details omitted from output for clarity} Certificate is to be certified until Mar 24 18:51:41 2033 GMT (3650 days) Sign the certificate? [y/n]: 1 out of 1 certificate requests certified, commit? [y/n] Write out database with 1 new entries Data Base Updated
Setelah OpenSSL memperbarui database sertifikat, konfirmasikan bahwa file sertifikat,
rootca.crt
, ada dirootca
direktori dan file sertifikat PEM (.pem) untuk sertifikat ada dirootca/certs
direktori. Nama file file .pem cocok dengan nomor seri sertifikat OS akar.
Membuat CA subordinat
Setelah membuat CA akar internal, Anda harus membuat CA subordinat untuk digunakan sebagai CA perantara untuk menandatangani sertifikat klien untuk perangkat Anda. Secara teori, Anda tidak perlu membuat CA bawahan; Anda dapat mengunggah sertifikat OS akar Anda ke hub IoT Anda dan menandatangani sertifikat klien langsung dari CA akar Anda. Namun, menggunakan CA subordinat sebagai CA perantara untuk menandatangani sertifikat klien dengan lebih cermat mensimulasikan lingkungan produksi yang direkomendasikan, di mana CA akar Anda disimpan offline. Anda juga dapat menggunakan CA subordinat untuk menandatangani CA subordinat lain, yang pada gilirannya dapat menandatangani CA bawahan lain, dan sebagainya. Menggunakan CA subordinat untuk menandatangani CA subordinat lainnya membuat hierarki CA menengah sebagai bagian dari rantai kepercayaan sertifikat. Di lingkungan produksi, rantai sertifikat kepercayaan memungkinkan delegasi kepercayaan terhadap perangkat penandatanganan. Untuk informasi selengkapnya tentang memasukkan perangkat ke dalam rantai sertifikat kepercayaan, lihat Mengautentikasi perangkat menggunakan sertifikat CA X.509.
Mirip dengan CA akar Anda, file yang digunakan untuk membuat dan memelihara CA subordinat Anda disimpan dalam struktur folder dan diinisialisasi sebagai bagian dari proses ini. Lakukan langkah-langkah berikut untuk:
- Membuat dan menginisialisasi folder dan file yang digunakan oleh CA subordinat Anda
- Membuat file konfigurasi yang digunakan oleh OpenSSL untuk mengonfigurasi CA subordinat dan sertifikat yang dibuat dengan CA subordinat Anda
- Meminta dan membuat sertifikat CA yang ditandatangani oleh CA akar Anda yang berfungsi sebagai sertifikat OS bawahan Anda
Kembali ke direktori dasar yang berisi
rootca
direktori. Untuk contoh ini, CA akar dan CA subordinat berada di direktori dasar yang sama.cd ..
Di jendela Git Bash, jalankan perintah berikut, satu per satu.
Langkah ini membuat struktur direktori dan mendukung file untuk CA subordinat yang mirip dengan struktur folder dan file yang dibuat untuk CA akar di bagian sebelumnya.
mkdir subca cd subca mkdir certs db private chmod 700 private touch db/index openssl rand -hex 16 > db/serial echo 1001 > db/crlnumber
Buat file teks bernama
subca.conf
disubca
direktori yang dibuat di langkah sebelumnya. Buka file tersebut di editor teks, lalu salin dan simpan pengaturan konfigurasi OpenSSL berikut ke dalam file tersebut.Seperti halnya file konfigurasi untuk CA akar pengujian Anda, file ini menyediakan OpenSSL dengan nilai yang diperlukan untuk mengonfigurasi CA subordinat pengujian Anda. Anda dapat membuat beberapa CA subordinat, untuk mengelola skenario atau lingkungan pengujian.
Untuk informasi selengkapnya tentang sintaks file konfigurasi OpenSSL, lihat halaman manual master konfigurasi dalam dokumentasi OpenSSL.
[default] name = subca domain_suffix = exampledomain.com aia_url = http://$name.$domain_suffix/$name.crt crl_url = http://$name.$domain_suffix/$name.crl default_ca = ca_default name_opt = utf8,esc_ctrl,multiline,lname,align [ca_dn] commonName = "subca_common_name" [ca_default] home = ../subca database = $home/db/index serial = $home/db/serial crlnumber = $home/db/crlnumber certificate = $home/$name.crt private_key = $home/private/$name.key RANDFILE = $home/private/random new_certs_dir = $home/certs unique_subject = no copy_extensions = copy default_days = 365 default_crl_days = 90 default_md = sha256 policy = policy_c_o_match [policy_c_o_match] countryName = optional stateOrProvinceName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional [req] default_bits = 2048 encrypt_key = yes default_md = sha256 utf8 = yes string_mask = utf8only prompt = no distinguished_name = ca_dn req_extensions = ca_ext [ca_ext] basicConstraints = critical,CA:true keyUsage = critical,keyCertSign,cRLSign subjectKeyIdentifier = hash [sub_ca_ext] authorityKeyIdentifier = keyid:always basicConstraints = critical,CA:true,pathlen:0 extendedKeyUsage = clientAuth,serverAuth keyUsage = critical,keyCertSign,cRLSign subjectKeyIdentifier = hash [client_ext] authorityKeyIdentifier = keyid:always basicConstraints = critical,CA:false extendedKeyUsage = clientAuth keyUsage = critical,digitalSignature subjectKeyIdentifier = hash
Di jendela Git Bash, jalankan perintah berikut untuk menghasilkan kunci privat dan permintaan penandatanganan sertifikat (CSR) di direktori CA bawahan.
Anda diminta untuk memasukkan frasa sandi PEM, seperti yang ditunjukkan dalam contoh berikut, untuk file kunci privat. Masukkan dan verifikasi frasa pass untuk menghasilkan kunci privat dan CSR Anda.
Enter PEM pass phrase: Verifying - Enter PEM pass phrase: -----
Konfirmasikan bahwa file
subca.csr
CSR ada di direktori CA subordinat dan filesubca.key
kunci privat ada diprivate
subdirektori sebelum melanjutkan.Di jendela Git Bash, jalankan perintah berikut untuk membuat sertifikat OS subordinat di direktori CA subordinat. Perintah menerapkan
sub_ca_ext
ekstensi file konfigurasi ke sertifikat. Ekstensi ini menunjukkan bahwa sertifikat adalah untuk CA subordinat dan juga dapat digunakan untuk menandatangani sertifikat dan daftar pencabutan sertifikat (CRL). Tidak seperti sertifikat OS akar, sertifikat ini tidak ditandatangani sendiri. Sebagai gantinya, sertifikat OS subordinat ditandatangani dengan sertifikat OS akar, membangun rantai sertifikat yang mirip dengan apa yang akan Anda gunakan untuk infrastruktur kunci publik (PKI). Sertifikat OS subordinat kemudian digunakan untuk menandatangani sertifikat klien untuk menguji perangkat Anda.winpty openssl ca -config ../rootca/rootca.conf -in subca.csr -out subca.crt -extensions sub_ca_ext
Anda diminta untuk memasukkan frasa pass, seperti yang ditunjukkan dalam contoh berikut, untuk file kunci privat CA akar Anda. Setelah Anda memasukkan frasa pass, OpenSSL menghasilkan dan menampilkan detail sertifikat, lalu meminta Anda untuk menandatangani dan menerapkan sertifikat untuk CA bawahan Anda. Tentukan
y
untuk kedua perintah untuk menghasilkan sertifikat untuk CA subordinat Anda.Using configuration from rootca.conf Enter pass phrase for ../rootca/private/rootca.key: Check that the request matches the signature Signature ok Certificate Details: {Details omitted from output for clarity} Certificate is to be certified until Mar 24 18:55:00 2024 GMT (365 days) Sign the certificate? [y/n]: 1 out of 1 certificate requests certified, commit? [y/n] Write out database with 1 new entries Data Base Updated
Setelah OpenSSL memperbarui database sertifikat, konfirmasikan bahwa file
subca.crt
sertifikat ada di direktori CA subordinat dan bahwa file sertifikat PEM (.pem) untuk sertifikat ada dirootca/certs
direktori. Nama file file .pem cocok dengan nomor seri sertifikat OS subordinat.
Mendaftarkan sertifikat OS subordinat Anda ke hub IoT Anda
Daftarkan sertifikat CA subordinat ke hub IoT Anda, yang menggunakannya untuk mengautentikasi perangkat Anda selama pendaftaran dan koneksi. Langkah-langkah berikut menjelaskan cara mengunggah dan memverifikasi sertifikat CA subordinat Anda secara otomatis ke hub IoT Anda.
Di portal Azure, navigasikan ke hub IoT Anda dan pilih Sertifikat dari menu sumber daya, di bawah Pengaturan keamanan.
Pilih Tambahkan dari bilah perintah untuk menambahkan sertifikat CA baru.
Masukkan nama tampilan untuk sertifikat OS subordinat Anda di bidang Nama sertifikat.
Pilih file sertifikat PEM (.pem) sertifikat OS subordinat Anda dari
rootca/certs
direktori untuk ditambahkan di bidang File Sertifikat .pem atau .cer.Centang kotak di samping Atur status sertifikat menjadi terverifikasi saat pengunggahan.
Pilih Simpan.
Sertifikat OS subordinat yang Anda unggah ditampilkan dengan statusnya diatur ke Diverifikasi pada tab Sertifikat panel kerja.
Membuat sertifikat klien untuk perangkat
Setelah membuat CA subordinat, Anda dapat membuat sertifikat klien untuk perangkat Anda. File dan folder yang dibuat untuk CA subordinat Anda digunakan untuk menyimpan file CSR, kunci privat, dan sertifikat untuk sertifikat klien Anda.
Sertifikat klien harus memiliki nilai bidang Nama Umum Subjek (CN) yang diatur ke nilai ID perangkat yang digunakan saat mendaftarkan perangkat yang sesuai di Azure IoT Hub.
Lakukan langkah-langkah berikut untuk:
- Membuat kunci privat dan permintaan penandatanganan sertifikat (CSR) untuk sertifikat klien
- Membuat sertifikat klien yang ditandatangani oleh sertifikat OS subordinat Anda
Di jendela Git Bash Anda, pastikan Anda masih berada di
subca
direktori.Di jendela Git Bash, jalankan perintah berikut satu per satu. Ganti tempat penampung dengan nama untuk perangkat IoT Anda, misalnya
testdevice
. Langkah ini membuat kunci privat dan CSR untuk sertifikat klien Anda.Langkah ini membuat kunci privat RSA 2048-bit untuk sertifikat klien Anda, lalu menghasilkan permintaan penandatanganan sertifikat (CSR) menggunakan kunci privat tersebut.
Saat diminta, berikan detail sertifikat seperti yang ditunjukkan dalam contoh berikut.
Satu-satunya permintaan yang harus Anda berikan nilai tertentu adalah Nama Umum, yang harus merupakan nama perangkat yang sama yang disediakan pada langkah sebelumnya. Anda dapat melewati atau memberikan nilai arbitrer untuk perintah lainnya.
Setelah memberikan detail sertifikat, OpenSSL menghasilkan dan menampilkan detail sertifikat, lalu meminta Anda untuk menandatangani dan menerapkan sertifikat untuk CA bawahan Anda. Tentukan y untuk kedua perintah guna menghasilkan sertifikat untuk CA subordinat Anda.
----- Country Name (2 letter code) [XX]:. State or Province Name (full name) []:. Locality Name (eg, city) [Default City]:. Organization Name (eg, company) [Default Company Ltd]:. Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server hostname) []:'<DEVICE_NAME>' Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
Konfirmasikan bahwa file CSR ada di direktori CA subordinat dan file kunci privat ada di
private
subdirektori sebelum melanjutkan. Untuk informasi selengkapnya tentang format CSR dan file kunci privat, lihat sertifikat X.509.Di jendela Git Bash, jalankan perintah berikut, ganti tempat penampung nama perangkat dengan nama yang sama dengan yang Anda gunakan di langkah sebelumnya.
Langkah ini membuat sertifikat klien di direktori CA subordinat. Perintah menerapkan
client_ext
ekstensi file konfigurasi ke sertifikat. Ekstensi ini menunjukkan bahwa sertifikat adalah untuk sertifikat klien, yang tidak dapat digunakan sebagai sertifikat CA. Sertifikat klien ditandatangani dengan sertifikat OS bawahan.winpty openssl ca -config subca.conf -in <DEVICE_NAME>.csr -out <DEVICE_NAME>.crt -extensions client_ext
Anda diminta untuk memasukkan frasa pass, seperti yang ditunjukkan dalam contoh berikut, untuk file kunci privat CA subordinat Anda. Setelah Anda memasukkan frasa pass, OpenSSL menghasilkan dan menampilkan detail sertifikat, lalu meminta Anda untuk menandatangani dan menerapkan sertifikat klien untuk perangkat Anda. Tentukan y untuk kedua perintah untuk menghasilkan sertifikat klien.
Using configuration from subca.conf Enter pass phrase for ../subca/private/subca.key: Check that the request matches the signature Signature ok Certificate Details: {Details omitted from output for clarity} Certificate is to be certified until Mar 24 18:51:41 2024 GMT (365 days) Sign the certificate? [y/n]: 1 out of 1 certificate requests certified, commit? [y/n] Write out database with 1 new entries Data Base Updated
Setelah OpenSSL memperbarui database sertifikat, konfirmasikan bahwa file sertifikat untuk sertifikat klien ada di direktori CA subordinat dan bahwa file sertifikat PEM (.pem) untuk sertifikat klien ada di subdirektori sertifikat direktori CA subordinat. Nama file file .pem cocok dengan nomor seri sertifikat klien.
Langkah berikutnya
Anda dapat mendaftarkan perangkat dengan hub IoT untuk menguji sertifikat klien yang telah Anda buat untuk perangkat tersebut. Untuk informasi selengkapnya tentang mendaftarkan perangkat, lihat Membuat dan mengelola identitas perangkat.
Jika Anda memiliki beberapa perangkat terkait untuk diuji, Anda dapat menggunakan Azure IoT Hub Device Provisioning Service untuk menyediakan beberapa perangkat dalam grup pendaftaran. Untuk informasi selengkapnya tentang menggunakan grup pendaftaran di Device Provisioning Service, lihat Tutorial: Menyediakan beberapa perangkat X.509 menggunakan grup pendaftaran.