Öğretici: Test için sertifika oluşturma ve karşıya yükleme
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. Alt CA'larınız tarafından imzalanan cihazlarınız için istemci sertifikaları ile iç kök CA'nıza zincirlenmiş en az bir alt CA'ya sahip, 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ı önermeyiz. 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ız tarafından imzalanan bir iç alt CA ve alt CA sertifikası oluşturma
- 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 bkz. C için Azure IoT Hub Cihaz SDK'sı için GitHub deposundaki örnekler ve öğreticiler için test CA sertifikalarını yönetme.
Önkoşullar
Azure aboneliği. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Azure aboneliğinizde 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ü
git
için, yerel Git deponuzla etkileşim kurmak için kullanabileceğiniz komut satırı uygulaması Git Bash'i içeren Yazı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, üçüncü taraflardan önceden oluşturulmuş OpenSSL'i de 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_CNF
openssl.cnf dosyanızın yoluna ayarlandığından emin olun.
Kök CA oluşturma
Test için başka sertifikalar oluşturabileceğiniz bir güven bağlayıcısı olarak görev yapmak için önce bir iç kök sertifika yetkilisi (CA) ve otomatik olarak imzalanan 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 ve değerini bu öğreticide sertifikaların oluşturulacağı istenen dizinle değiştirin
{base_dir}
.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 openssl
biç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. echo
Komut, 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
adlırootca.conf
bir 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
alt CA'nızca_default
için sertifika oluşturulurken bu yapılandırma dosyası da kullanıldığından, bölümünde özniteliği olarak ayarlanır../rootca
. 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 = hash
Git Bash penceresinde aşağıdaki komutu çalıştırarak dizinde
rootca
bir sertifika imzalama isteği (CSR) ve dizinderootca/private
bir özel anahtar oluşturun. OpenSSL komutu hakkında daha fazla bilgi için OpenSSLreq
belgelerindeki openssl-req el ile sayfasına bakın.Not
Bu kök CA test amaçlı olsa ve ortak anahtar altyapısının (PKI) bir parçası olarak kullanıma sunulmayacak olsa da, özel anahtarı kopyalamamanızı veya paylaşmamanızı öneririz.
winpty openssl req -new -config rootca.conf -out rootca.csr -keyout private/rootca.key
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 geçiş tümceciği girin ve onaylayın.
Enter PEM pass phrase: Verifying - Enter PEM pass phrase: -----
Devam etmeden önce CSR dosyasının
rootca.csr
dizininderootca
, özel anahtar dosyasınınrootca.key
private
ise alt dizinde bulunduğ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 OpenSSLca
belgelerindeki openssl-ca el ile sayfasına bakın.winpty openssl ca -selfsign -config rootca.conf -in rootca.csr -out rootca.crt -extensions ca_ext
Aş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 Data Base Updated
OpenSSL sertifika veritabanını güncelleştirdikten sonra, hem sertifika dosyasının,
rootca.crt
hem derootca
sertifikanın PEM sertifikası (.pem) dosyasınınrootca/certs
dizinde 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 CA'ları imzalamak için alt CA'ları kullanmak, bir sertifika güven zincirinin parçası olarak bir ara CA hiyerarşisi oluşturur. Bir üretim ortamında, sertifika güven zinciri, imza cihazlarına güven temsili sağlar. Cihazları bir sertifika güven zincirinde imzalama hakkında daha fazla bilgi için bkz . X.509 CA sertifikalarını kullanarak cihazların kimliğini doğrulama.
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
Dizini içeren temel dizine
rootca
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, önceki bölümde kök CA için oluşturulan klasör yapısına ve dosyalara benzer bir dizin yapısı ve alt CA için 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
adlısubca.conf
bir 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 yapılandırma ana el ile 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 = hash
Git 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 geçiş tümceciği girin ve doğrulayın.
Enter PEM pass phrase: Verifying - Enter PEM pass phrase: -----
Devam etmeden önce CSR dosyasının
subca.csr
alt CA dizininde ve özel anahtar dosyasınınsubca.key
private
alt dizinde mevcut olduğ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_ext
Aş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 sertifika oluşturmak üzere her iki istem için belirtin
y
.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
OpenSSL sertifika veritabanını güncelleştirdikten sonra, sertifika dosyasının
subca.crt
alt CA dizininde bulunduğunu ve sertifikanın PEM sertifikası (.pem) dosyasınınrootca/certs
dizinde mevcut 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 bir görünen ad girin.
Sertifika .pem veya .cer dosya alanına eklemek için dizinden
rootca/certs
alt CA sertifikanızın PEM sertifikası (.pem) dosyasını seçin.Karşıya yüklemede sertifika durumunu doğrulandı olarak ayarla'nın yanındaki kutuyu işaretleyin.
Kaydet'i seçin.
Karşıya yüklenen alt CA sertifikanız, çalışma bölmesinin Sertifikalar sekmesinde durumu Doğrulandı olarak ayarlanmış olarak 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 dizinde olduğunuzdan
subca
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. İstemlerin geri kalanı için rastgele değerler atlayabilir veya sağlayabilirsiniz.
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 []:
Devam etmeden önce CSR dosyasının alt CA dizininde ve özel anahtar dosyasının
private
alt dizinde mevcut olduğ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_ext
Aş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 Data Base Updated
OpenSSL sertifika veritabanını güncelleştirdikten sonra, istemci sertifikasının sertifika dosyasının alt CA dizininde mevcut olduğunu ve istemci sertifikası için PEM sertifikası (.pem) dosyasının, alt CA dizininin sertifikalar alt dizininde bulunduğ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.