Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
IoT hub'ınız için cihazların kimliğini doğrulamak için X.509 sertifikalarını kullanabilirsiniz. Üretim ortamları için, profesyonel bir sertifika hizmetleri satıcısından X.509 CA sertifikası satın almanızı öneririz. Daha sonra, kapsamlı bir ortak anahtar altyapısı (PKI) stratejisi kapsamında satın alınan CA sertifikasına zincirlenmiş bir iç, kendi kendine yönetilen sertifika yetkilisinden (CA) kuruluşunuz içinde sertifikalar düzenleyebilirsiniz. Profesyonel bir sertifika hizmetleri satıcısından X.509 CA sertifikası alma hakkında daha fazla bilgi için X.509 CA sertifikalarını kullanarak cihazların kimliğini doğrulama bölümünün X.509 CA sertifikası alma bölümüne bakın.
Ancak, güven bağlantı noktası olarak iç kök CA kullanan kendi kendi yönetilen özel CA'nızı oluşturmak, test ortamları için yeterlidir. İç kök CA'nıza zincirlenmiş en az bir alt CA'ya sahip, alt CA'larınız tarafından imzalanan cihazlarınız için istemci sertifikaları içeren, kendi kendine yönetilen özel CA, önerilen bir üretim ortamının benzetimini yapmanızı sağlar.
Önemli
Üretim ortamları için otomatik olarak imzalanan sertifikaların kullanılmasını önermiyoruz. Bu öğretici yalnızca tanıtım amacıyla sunulmuştur.
Aşağıdaki öğreticide, aşağıdaki görevlerin nasıl yerine getirilip gerçekleştirilecağı açıklanırken OpenSSL ve OpenSSL Cookbook kullanılır:
- İç kök sertifika yetkilisi (CA) ve kök CA sertifikası oluşturma
- İç kök CA sertifikanızla imzalanacak bir iç alt CA ve alt CA sertifikası oluşturun.
- Test amacıyla alt CA sertifikanızı IoT hub'ınıza yükleyin
- IoT hub'ınızla test etmek istediğiniz IoT cihazları için istemci sertifikaları oluşturmak için alt CA'sını kullanın
Not
Microsoft, kendi X.509 sertifikalarınızı nasıl oluşturabileceğinizi ve bir IoT hub'ında kimliklerini nasıl doğrulayacağınızı anlamanıza yardımcı olmak için PowerShell ve Bash betikleri sağlar. Betikler C için Azure IoT Hub Cihaz SDK'sı ile birlikte sunulur. Betikler yalnızca tanıtım amacıyla sağlanır. Bunlar tarafından oluşturulan sertifikalar üretim için kullanılmamalıdır. Sertifikalar sabit kodlanmış parolalar ("1234") içerir ve süresi 30 gün sonra dolar. Bir üretim ortamında sertifika oluşturma ve yaşam süresi yönetimi için kendi en iyi yöntemlerinizi kullanmanız gerekir. Daha fazla bilgi için, örnekler ve öğreticiler için test CA sertifikalarını yönetme başlığını, Azure IoT Hub Cihaz SDK'sı için C GitHub deposunda inceleyin.
Önkoşullar
Azure aboneliği. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Azure aboneliğiniz içerisindeki bir IoT hub'ı. Henüz bir hub'ına sahip değilseniz IoT hub'ı oluşturma makalesindeki adımları izleyebilirsiniz.
Git'in en son sürümü. Git'in komut penceresi tarafından erişilebilen ortam değişkenlerine eklendiğinden emin olun. Yüklenecek araçların en son sürümü için, yerel Git deponuzla etkileşim kurmak için kullanabileceğiniz komut satırı uygulaması Git Bash'i
gitYazılım Özgürlüğü Koruması'nın Git istemci araçlarına bakın.OpenSSL yüklemesi. Windows'da, Git yüklemeniz openSSL yüklemesini içerir. OpenSSL'ye Git Bash isteminden erişebilirsiniz. OpenSSL'nin yüklü olduğunu doğrulamak için bir Git Bash istemi açın ve girin
openssl version.Not
OpenSSL hakkında bilgi sahibi değilseniz ve Windows makinenizde zaten yüklü değilse Git Bash isteminden OpenSSL kullanmanızı öneririz. Alternatif olarak, kaynak kodu indirmeyi ve OpenSSL oluşturmayı seçebilirsiniz. Daha fazla bilgi edinmek için OpenSSL İndirmeleri sayfasına bakın. Alternatif olarak, Önceden oluşturulmuş OpenSSL'i Microsoft dışı bir iş ortağından da indirebilirsiniz. Daha fazla bilgi edinmek için OpenSSL wiki'sine bakın. Microsoft, üçüncü taraflardan indirilen paketlerin geçerliliği konusunda hiçbir garantide bulunmaz. OpenSSL oluşturmayı veya indirmeyi seçerseniz, OpenSSL ikili dosyasının yolunuzda erişilebilir olduğundan ve ortam değişkeninin
OPENSSL_CNFopenssl.cnf dosyanızın yoluna ayarlandığından emin olun.
Kök CA oluşturma
Öncelikle, test için diğer sertifikaları oluşturabileceğiniz bir güven kaynağı olarak hizmet edecek dahili bir kök sertifika yetkilisi (CA) ve kendinden imzalı bir kök CA sertifikası oluşturmanız gerekir. İç kök CA'nızı oluşturmak ve korumak için kullanılan dosyalar bir klasör yapısında depolanır ve bu işlemin bir parçası olarak başlatılır. Aşağıdaki adımları gerçekleştirin:
- Kök CA'nız tarafından kullanılan klasörleri ve dosyaları oluşturma ve başlatma
- Kök CA'nızı ve kök CA'nızla oluşturulan sertifikaları yapılandırmak için OpenSSL tarafından kullanılan bir yapılandırma dosyası oluşturma
- Kök CA sertifikanız olarak hizmet veren otomatik olarak imzalanan bir CA sertifikası isteme ve oluşturma
Bir Git Bash penceresi başlatın ve aşağıdaki komutu çalıştırın. Bu öğreticide sertifikaların oluşturulacağı istenen dizinle
{base_dir}öğesini değiştirin.cd {base_dir}Git Bash penceresinde aşağıdaki komutları birer birer çalıştırın. Bu adım, kök CA için aşağıdaki dizin yapısını ve destek dosyalarını oluşturur.
Dizin veya dosya Açıklama rootca Kök CA'nın kök dizini. rootca/certs Kök CA için CA sertifikalarının oluşturulduğu ve depolandığı dizin. rootca/db Kök CA için sertifika veritabanının ve destek dosyalarının depolandığı dizin. rootca/db/index Kök CA için sertifika veritabanı. komutu touch, daha sonra kullanmak üzere herhangi bir içerik içermeyen bir dosya oluşturur. Sertifika veritabanı, verilen sertifikalar hakkında bilgi içeren OpenSSL tarafından yönetilen bir düz metin dosyasıdır. Sertifika veritabanı hakkında daha fazla bilgi için openssl-ca el ile sayfasına bakın.rootca/db/serial Kök CA için oluşturulacak sonraki sertifikanın seri numarasını depolamak için kullanılan dosya. Komutu onaltılık opensslbiçimde 16 baytlık rastgele bir sayı oluşturur ve ardından kök CA sertifikasını oluşturmak üzere dosyayı başlatmak üzere bu dosyada depolar.rootca/db/crlnumber Kök CA tarafından verilen iptal edilmiş sertifikaların seri numaralarını depolamak için kullanılan dosya. echoKomut, dosyaya örnek bir seri numarası (1001) aktarır.rootca/private Özel anahtar da dahil olmak üzere kök CA için özel dosyaların depolandığı dizin.
Bu dizindeki dosyaların güvenliği ve korunması gerekir.mkdir rootca cd rootca mkdir certs db private chmod 700 private touch db/index openssl rand -hex 16 > db/serial echo 1001 > db/crlnumberÖnceki adımda oluşturulan dizinde
rootca.confadlırootcabir metin dosyası oluşturun. Bu dosyayı bir metin düzenleyicisinde açın ve aşağıdaki OpenSSL yapılandırma ayarlarını kopyalayıp bu dosyaya kaydedin.Dosya, test kök CA'nızı yapılandırmak için gereken değerleri OpenSSL'ye sağlar. Bu örnekte dosya, önceki adımlarda oluşturulan dizinleri ve dosyaları kullanarak rootca adlı bir kök CA yapılandırmıştır. Dosya aşağıdakiler için yapılandırma ayarları da sağlar:
- Sertifika Ayırt Edici Ad (DN) alanları için kök CA tarafından kullanılan CA ilkesi
- Kök CA tarafından oluşturulan sertifika istekleri
- Kök CA sertifikalarına, alt CA sertifikalarına ve kök CA tarafından verilen istemci sertifikalarına uygulanan X.509 uzantıları
Not
homeözniteliği, alt CA'nız için sertifika oluşturulurken bu yapılandırma dosyası da kullanıldığından,ca_defaultbölümünde../rootcaolarak ayarlanır. Belirtilen göreli yol, OpenSSL'nin bu işlem sırasında alt CA klasörünüzden kök CA klasörünüze gitmesine olanak tanır.OpenSSL yapılandırma dosyalarının söz dizimi hakkında daha fazla bilgi için OpenSSL belgelerindeki yapılandırma el ile sayfasına bakın.
[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 = hashGit Bash penceresinde aşağıdaki komutu çalıştırarak dizinde
rootcabir sertifika imzalama isteği (CSR) ve dizinderootca/privatebir özel anahtar oluşturun. OpenSSL komutu hakkında daha fazla bilgi için OpenSSLreqbelgelerindeki openssl-req el ile sayfasına bakın.Not
Bu kök CA test amaçlı olmasına ve ortak anahtar altyapısının (PKI) parçası olarak sunulmamasına rağmen özel anahtarı kopyalamamanızı veya paylaşmamanızı öneririz.
winpty openssl req -new -config rootca.conf -out rootca.csr -keyout private/rootca.keyAşağıdaki örnekte gösterildiği gibi özel anahtar dosyası için bir PEM geçiş tümceciği girmeniz istenir. Özel anahtarınızı ve CSR'nizi oluşturmak için bir geçiş tümceciği girin ve onaylayın.
Enter PEM pass phrase: Verifying - Enter PEM pass phrase: -----CSR dosyasının
rootca.csrdizininderootcamevcut olduğunu onaylayın. Ardından devam etmeden önce alt dizinde özel anahtar dosyasınınrootca.keyprivateolduğunu onaylayın.Git Bash penceresinde aşağıdaki komutu çalıştırarak otomatik olarak imzalanan bir kök CA sertifikası oluşturun. komutu, yapılandırma dosyası uzantılarını sertifikaya uygular
ca_ext. Bu uzantılar sertifikanın bir kök CA için olduğunu ve sertifikaları ve sertifika iptal listelerini (CRL) imzalamak için kullanılabileceğini gösterir. OpenSSL komutu hakkında daha fazla bilgi için OpenSSLcabelgelerindeki openssl-ca el ile sayfasına bakın.winpty openssl ca -selfsign -config rootca.conf -in rootca.csr -out rootca.crt -extensions ca_extAşağıdaki örnekte gösterildiği gibi özel anahtar dosyası için PEM geçiş tümceciği sağlamanız istenir. Geçiş tümceciğini sağladıktan sonra OpenSSL bir sertifika oluşturur ve ardından kök CA'nız için sertifikayı imzalamanızı ve işlemenizi ister. Kök CA'nız için otomatik olarak imzalanan sertifikayı oluşturmak için her iki istem için de y belirtin.
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 Database updatedOpenSSL sertifika veritabanını güncelleştirdikten sonra, hem sertifika dosyasının,
rootca.crthem derootcasertifikanın PEM sertifikası (.pem) dosyasınınrootca/certsdizinde mevcut olduğunu onaylayın. .pem dosyasının dosya adı, kök CA sertifikasının seri numarasıyla eşleşir.
Alt CA oluşturma
İç kök CA'nızı oluşturduktan sonra, cihazlarınız için istemci sertifikalarını imzalamak üzere ara CA olarak kullanmak üzere bir alt CA oluşturmanız gerekir. Teoride, bir alt CA oluşturmanız gerekmez; kök CA sertifikanızı IoT hub'ınıza yükleyebilir ve istemci sertifikalarını doğrudan kök CA'nızdan imzalayabilirsiniz. Ancak, istemci sertifikalarını imzalamak için ara CA olarak bir alt CA kullanmak, kök CA'nızın çevrimdışı tutulduğu önerilen bir üretim ortamının benzetimini oluşturur. Başka bir alt CA'yı imzalamak için de bir alt CA kullanabilirsiniz; bu da başka bir alt CA'yı imzalayabilir ve bu şekilde devam edebilir. Diğer alt sertifika otoritelerini (CA) imzalamak için alt sertifika otoritelerini (CA) kullanmak, bir sertifika güven zincirinin parçası olarak bir ara sertifika otoriteleri (CA) hiyerarşisi oluşturur. Bir üretim ortamında, sertifika güven zinciri, güvenin imzalama cihazlarına devredilmesini sağlar. Cihazları bir sertifika güven zincirinde imzalama hakkında daha fazla bilgi için bkz. X.509 sertifikalarıyla kimlik doğrulaması yapma.
Kök CA'nıza benzer şekilde, alt CA'nızı oluşturmak ve korumak için kullanılan dosyalar bir klasör yapısında depolanır ve bu işlemin bir parçası olarak başlatılır. Aşağıdaki adımları gerçekleştirin:
- Alt CA'nız tarafından kullanılan klasörleri ve dosyaları oluşturma ve başlatma
- Alt CA'nızı ve alt CA'nızla oluşturulan sertifikaları yapılandırmak için OpenSSL tarafından kullanılan bir yapılandırma dosyası oluşturma
- Kök CA'nız tarafından imzalanan ve alt CA sertifikanız olarak hizmet veren bir CA sertifikası isteme ve oluşturma
rootcadizinini içeren ana dizine geri dönün. Bu örnekte hem kök CA hem de alt CA aynı temel dizinde yer alır.cd ..Git Bash penceresinde aşağıdaki komutları birer birer çalıştırın.
Bu adım, alt CA için, önceki bölümde kök CA için oluşturulan klasör yapısına ve dosyalara benzer bir dizin yapısı ve destek dosyaları oluşturur.
mkdir subca cd subca mkdir certs db private chmod 700 private touch db/index openssl rand -hex 16 > db/serial echo 1001 > db/crlnumberÖnceki adımda oluşturulan dizinde
subca.confadlısubcabir metin dosyası oluşturun. Bu dosyayı bir metin düzenleyicisinde açın ve aşağıdaki OpenSSL yapılandırma ayarlarını kopyalayıp bu dosyaya kaydedin.Test kök CA'nızın yapılandırma dosyasında olduğu gibi, bu dosya openSSL'ye test alt CA'nızı yapılandırmak için gereken değerleri sağlar. Test senaryolarını veya ortamlarını yönetmek için birden çok alt CA oluşturabilirsiniz.
OpenSSL yapılandırma dosyalarının söz dizimi hakkında daha fazla bilgi için OpenSSL belgelerindeki config ana kılavuz sayfasına bakın.
[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 = hashGit Bash penceresinde aşağıdaki komutları çalıştırarak alt CA dizininde bir özel anahtar ve sertifika imzalama isteği (CSR) oluşturun.
Aşağıdaki örnekte gösterildiği gibi özel anahtar dosyası için bir PEM geçiş tümceciği girmeniz istenir. Özel anahtarınızı ve CSR'nizi oluşturmak için bir parola girin ve doğrulayın.
Enter PEM pass phrase: Verifying - Enter PEM pass phrase: -----CSR dosyasının
subca.csralt CA dizininde mevcut olduğunu onaylayın. Ardından devam etmeden önce alt dizinde özel anahtar dosyasınınsubca.keyprivatebulunduğunu onaylayın.Git Bash penceresinde aşağıdaki komutu çalıştırarak alt CA dizininde bir alt CA sertifikası oluşturun. komutu, yapılandırma dosyası uzantılarını sertifikaya uygular
sub_ca_ext. Bu uzantılar sertifikanın bir alt CA için olduğunu ve sertifikaları ve sertifika iptal listelerini (CRL' ler) imzalamak için de kullanılabileceğini gösterir. Kök CA sertifikasının aksine, bu sertifika otomatik olarak imzalanmaz. Bunun yerine, alt CA sertifikası kök CA sertifikasıyla imzalanır ve ortak anahtar altyapısı (PKI) için kullanacağınıza benzer bir sertifika zinciri oluşturulur. Ardından alt CA sertifikası, cihazlarınızı test etmek üzere istemci sertifikalarını imzalamak için kullanılır.winpty openssl ca -config ../rootca/rootca.conf -in subca.csr -out subca.crt -extensions sub_ca_extAşağıdaki örnekte gösterildiği gibi, kök CA'nızın özel anahtar dosyası için geçiş tümceciği girmeniz istenir. Geçiş tümceciği girdikten sonra OpenSSL sertifikanın ayrıntılarını oluşturur ve görüntüler, ardından sertifikayı alt CA'nız için imzalamanızı ve işlemenizi ister. Ast CA'nız için sertifikayı oluşturmak amacıyla her iki komut isteminde de
ybelirtin.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 Database updatedOpenSSL sertifika veritabanını güncelleştirdikten sonra, sertifika dosyasının
subca.crtalt CA dizininde mevcut olduğunu onaylayın. Ardından, sertifikanın PEM sertifikası (.pem) dosyasının dizinderootca/certsmevcut olduğunu onaylayın. .pem dosyasının dosya adı, alt CA sertifikasının seri numarasıyla eşleşir.
Alt CA sertifikanızı IoT hub'ınıza kaydetme
Alt CA sertifikasını IoT hub'ınıza kaydedin; kayıt ve bağlantı sırasında cihazlarınızın kimliğini doğrulamak için bu sertifikayı kullanır. Aşağıdaki adımlarda, alt CA sertifikanızı IoT hub'ınıza yükleme ve otomatik olarak doğrulama adımları açıklanmaktadır.
Azure portalında IoT hub'ınıza gidin ve Kaynak menüsünden Güvenlik ayarları'nın altında Sertifikalar'ı seçin.
Yeni bir CA sertifikası eklemek için komut çubuğundan Ekle'yi seçin.
Sertifika adı alanına alt CA sertifikanız için görünen bir ad girin.
rootca/certsdizininden alt CA sertifikanızın PEM sertifikası (.pem) dosyasını seçerek Sertifika .pem veya .cer dosyası alanına ekleyin.Yükleme sırasında sertifika durumunu doğrulandı olarak ayarla seçeneğinin yanındaki kutuyu işaretleyin.
Kaydet'i seçin.
Çalışma bölmesinin Sertifikalar sekmesinde, karşıya yüklenen alt CA sertifikanızın durumu Doğrulandı olarak ayarlanmış şekilde gösterilir.
Cihaz için istemci sertifikası oluşturma
Alt CA'nızı oluşturduktan sonra, cihazlarınız için istemci sertifikaları oluşturabilirsiniz. Alt CA'nız için oluşturulan dosya ve klasörler, istemci sertifikalarınız için CSR, özel anahtar ve sertifika dosyalarını depolamak için kullanılır.
İstemci sertifikasının Konu Ortak Adı (CN) alanının değeri, ilgili cihazı Azure IoT Hub'a kaydederken kullanılan cihaz kimliğinin değerine ayarlanmış olmalıdır.
Aşağıdaki adımları gerçekleştirin:
- İstemci sertifikası için özel anahtar ve sertifika imzalama isteği (CSR) oluşturma
- Alt CA sertifikanız tarafından imzalanan bir istemci sertifikası oluşturma
Git Bash pencerenizde, hala
subcadizininde olduğunuzdan emin olun.Git Bash penceresinde aşağıdaki komutları teker teker çalıştırın. Yer tutucuyu IoT cihazınızın adıyla değiştirin; örneğin
testdevice. Bu adım, istemci sertifikanız için özel anahtarı ve CSR'yi oluşturur.Bu adım, istemci sertifikanız için 2048 bit RSA özel anahtarı oluşturur ve ardından bu özel anahtarı kullanarak bir sertifika imzalama isteği (CSR) oluşturur.
İstendiğinde, aşağıdaki örnekte gösterildiği gibi sertifika ayrıntılarını sağlayın.
Için belirli bir değer sağlamanız gereken tek istem, önceki adımda sağlanan cihaz adıyla aynı olması gereken Ortak Ad'dır. Kalan istemler için rastgele değerler girebilir veya geçebilirsiniz.
Sertifika ayrıntılarını sağladıktan sonra OpenSSL sertifikanın ayrıntılarını oluşturur ve görüntüler, ardından sertifikayı alt CA'nız için imzalamanızı ve işlemenizi ister. Ast CA'nız için sertifika oluşturmak üzere her iki istem için de y belirtin.
----- 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 []:CSR dosyasının alt CA dizininde mevcut olduğunu onaylayın. Ardından devam etmeden önce alt dizinde özel anahtar dosyasının
privatebulunduğunu onaylayın. CSR ve özel anahtar dosyalarının biçimleri hakkında daha fazla bilgi için bkz . X.509 sertifikaları.Git Bash penceresinde aşağıdaki komutu çalıştırın ve cihaz adı yer tutucularını önceki adımlarda kullandığınız adla değiştirin.
Bu adım, alt CA dizininde bir istemci sertifikası oluşturur. komutu, yapılandırma dosyası uzantılarını sertifikaya uygular
client_ext. Bu uzantılar sertifikanın, CA sertifikası olarak kullanılamayan bir istemci sertifikasına ait olduğunu gösterir. İstemci sertifikası, alt CA sertifikasıyla imzalanır.winpty openssl ca -config subca.conf -in <DEVICE_NAME>.csr -out <DEVICE_NAME>.crt -extensions client_extAşağıdaki örnekte gösterildiği gibi, alt CA'nızın özel anahtar dosyası için geçiş tümceciği girmeniz istenir. Geçiş tümceciği girdikten sonra OpenSSL sertifikanın ayrıntılarını oluşturur ve görüntüler, ardından cihazınız için istemci sertifikasını imzalamanızı ve işlemenizi ister. İstemci sertifikasını oluşturmak için her iki istem için de y belirtin.
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 Database updatedOpenSSL sertifika veritabanını güncelleştirdikten sonra, istemci sertifikasının sertifika dosyasının alt CA dizininde mevcut olduğunu onaylayın. Ardından, istemci sertifikası için PEM sertifikası (.pem) dosyasının, alt CA dizininin sertifikalar alt dizininde mevcut olduğunu onaylayın. .pem dosyasının dosya adı, istemci sertifikasının seri numarasıyla eşleşir.
Sonraki adımlar
Bu cihaz için oluşturduğunuz istemci sertifikasını test için cihazınızı IoT hub'ınıza kaydedebilirsiniz. Cihaz kaydetme hakkında daha fazla bilgi için bkz . Cihaz kimliklerini oluşturma ve yönetme.
Test etmek için birden çok ilgili cihazınız varsa, bir kayıt grubunda birden çok cihaz sağlamak için Azure IoT Hub Cihaz Sağlama Hizmeti'ni kullanabilirsiniz. Cihaz Sağlama Hizmeti'nde kayıt gruplarını kullanma hakkında daha fazla bilgi için bkz . Öğretici: Kayıt gruplarını kullanarak birden çok X.509 cihazı sağlama.