Share via


Sertifika yaşam döngüsü ve yenileme

İstemci sertifika anahtarı çiftlerinin ve CA sertifikalarının süresi düzenli aralıklarla dolar. Ağ altyapınız ve cihazlarınız sertifika süre sonunu işleyebilmeli ve bağlantıyı kaybetmeden yeni bir sertifika sunabilmelidir. RADIUS sunucusu kimlik doğrulamasında kullanılan kök CA sertifikaları ve cihaz kimlik doğrulamasında kullanılan istemci sertifikaları, güncelleştirmek için farklı yaklaşımlar gerektirir.

Dikkat

Sertifika kimlikleri sistem genelinde olduğundan, azsphere komutu veya yeni sertifika ekleyen bir işlev çağrısı, önceki bir komut veya işlev çağrısı tarafından eklenen bir sertifikanın üzerine yazabilir ve bu da ağ bağlantısı hatalarına neden olabilir. Net sertifika güncelleştirme yordamları geliştirmenizi ve sertifika kimliklerini dikkatle seçmenizi kesinlikle öneririz.

Azure Sphere'ın sertifika kimliklerini nasıl kullandığı hakkında daha fazla bilgi için bkz. Sertifika Kimlikleri.

Kök CA sertifikalarını güncelleştirme

CA sertifikası, RADIUS sunucusundaki kimlik doğrulama sertifikasının Kök CA'sıdır. CA sertifikasının süresi dolarsa veya sunucunun PKI'sı değişirse (örneğin, sunucu farklı bir sertifika yetkilisinden yeni bir Kök CA alırsa) Azure Sphere cihazları artık RADIUS kimlik doğrulama sunucusunun kimliğini doğrulayabilir. Ancak cihazların çalışmaya devam etmesi gerekir.

Tipik bir kablosuz ağda "bıçak kenarı" tam geçişi yapmak mümkün değildir; diğer bir ifadeyle, Kök CA geçersiz olduğunda tüm Azure Sphere cihazlarını tam olarak güncelleştiremezsiniz. Cihazlar kritik anda çevrimdışı olabilir veya zaman tutma doğruluğu yüklemeler arasında farklılık gösterebilir. Yeni sertifikanın gerektiğinde kullanıma hazır olması için, üst düzey uygulamanızın geçerli sertifikanın süresi dolmadan veya değişmeden önce yeni Kök CA sertifikasını alabilmesi gerekir.

Önerilen yaklaşım, mevcut ağ ile aynı yapılandırmaya sahip ancak yeni Kök CA sertifikasını kullanan ikinci bir ağ oluşturmak ve etkinleştirmektir. Mevcut Kök CA sertifikası özgün ağda başarısız olduğunda, işletim sistemi otomatik olarak ikinci ağa bağlanmayı dener. Uygulama daha sonra özgün ağdaki sertifikayı yeni Kök CA ile değiştirebilir ve ikinci ağı silebilir. Ardından cihaz, artık yeni Kök CA'ya sahip olan özgün ağı kullanarak bağlanabilir. Aşağıdaki şekilde bu yaklaşım özetlemektedir.

Kök CA sertifikasını güncelleştirmek için uygulama akışı

Üst düzey bir uygulama, Kök CA sertifikası güncelleştirmesini sorunsuz bir şekilde işlemek için şu adımları izlemelidir:

  1. Normal işlemin bir parçası olarak, uygulama türünde WifiConfig_Security_Wpa2_EAP_TLSNetwork1'i yapılandırıyor. Bu ağ, cihazın istemci sertifikasına ve RADIUS sunucusunun özgün Kök CA'sı olan Kök CA1'e bağlanır.

  2. RootCA'nın süresi dolmadan yaklaşık 90 gün önce cihaz, RADIUS sunucusu için yeni bir Kök CA sertifikasının yakında gerekli olacağını bildiren bir buluttan cihaza bildirim alır. Bildirim bir ağ yöneticisi veya başka bir operatör tarafından tetiklenebilir; olası bildirim mekanizmaları bir Azure IoT Hub veya Azure IoT Central buluttan cihaza iletisini içerir.

    Ağ yöneticisi, RADIUS sunucusundaki sertifikayı güncelleştirmek ve Azure Sphere cihazlarının uygun şekilde güncelleştirilmesini sağlamakla sorumludur.

  3. Uygulama yeni bir Kök CA alır ve CertStore_InstallRootCACertificate çağırarak Kök CA2 olarak kaydeder.

  4. Uygulama, Network1 yapılandırmasını çoğaltmak için WifiConfig_AddDuplicateNetwork çağırarak ağ2 adlı yeni bir ağ oluşturur. Ardından Kök CA2'yi Ağ 2'ye bağlar ve Ağ2'yi etkinleştirir. Cihazda Ağ2 etkinse ve İnternet'e bağlanabiliyorsa, Ağ1 kullanılamıyorsa cihaz bunu kullanır.

  5. Uygulama, cihazın hangi ağa bağlı olduğunu belirlemek için WifiConfig_GetConnectedNetworkId çağırarak her gün yoklar.

    Bağlı ağın günlük denetimi başarısız olursa, hata sunucu veya cihaz tarafındaki bir sertifika sorunundan veya başka bir sorundan kaynaklanabilir. Yardım için bkz . Ağ sorunlarını giderme .

    Cihaz Ağ1'e bağlıysa bu, sertifikanın süresinin henüz dolmadığı ve her şeyin düzgün çalıştığı anlamına gelir. Uygulama, cihaz Ağ2'ye bağlanana kadar bu adımı yineler.

    Cihaz Ağ2'ye bağlıysa bu, eski sertifikanın süresinin dolduğu, güncelleştirilmiş PKI'nın RADIUS sunucusunda ayarlandığı ve cihazın Kök CA2 kullanarak sunucunun kimliğini doğrulayabildiği anlamına gelir.

  6. Cihaz Ağ2 ile düzgün çalıştığında, uygulama ağ yapılandırmasındaki değişiklikleri tamamlar:

    • CertStore_MoveCertificate çağırarak Kök CA2'yi Kök CA1 olarak yeniden adlandırır. Bu işlev, süresi dolan Kök CA1'in üzerine Kök CA2 içeriğini yazar.
    • WifiConfig_ReloadConfig çağırarak Network1 yapılandırmasını yeniden yükler. Ağ1 yapılandırması artık geçerli ağ ile eşleşir.
    • WifiConfig_ForgetNetworkById çağırarak Network2 yapılandırmasını siler.

İstemci sertifikayı güncelleştirme

İstemci sertifikası, Azure Sphere cihazının kimliğini doğrulamak için kullanılan ortak ve özel anahtar çiftini içerir. Kök CA sertifikası gibi, istemci sertifikasının da zaman zaman süresi dolar ve cihazın yeni bir sertifika sunabilmesi gerekir. Üst düzey uygulamanız, mevcut sertifikanın süresi dolmadan önce yeni sertifikayı almakla sorumludur. Uygulama, CertStore_GetCertificateNotAfter çağırarak sertifikanın süresinin dolabileceği tarih ve saati alabilir.

Aşağıdaki şekilde bu yordam özetlemektedir. Bu düzen, sertifika güncelleştirme kodunuzun her yeni sertifika için benzersiz bir ad oluşturmak yerine ClientCert1 ve ClientCert2 gibi sabit sertifika kimliklerini kullanmasını sağlar. Buna ek olarak, ağ değiştirme veya istemci sertifikası temizlemesi gerektirmez.

İstemci sertifikasını güncelleştirmek için uygulama akışı

Üst düzey bir uygulama, istemci sertifikasına yönelik bir güncelleştirmeyi sorunsuz bir şekilde işlemek için şu adımları izlemelidir:

  1. Normal işlemin bir parçası olarak, uygulama türünde WifiConfig_Security_Wpa2_EAP_TLSNetwork1'i yapılandırıyor. Bu ağ, cihazın istemci sertifikasına (ClientCert1) ve RADIUS sunucusunun Kök CA'sına bağlanır. Uygulama güncelleştirme yordamını başlatmadan önce, WifiConfig_GetNetworkIdByConfigName ve WifiConfig_GetConnectedNetworkId çağırarak cihazın Ağ1'e bağlı olduğunu doğrular. Ağ kimlikleri eşleşiyorsa, uygulama hedeflenen ağa bağlı olduğundan emin olabilir.

  2. Uygulama, istemci sertifikasının süresinin ne zaman dolacağını belirlemek için düzenli aralıklarla CertStore_GetCertificateNotAfter çağırır. Alternatif olarak, uygulama son kullanma tarihini değiştirilebilir depolama alanında depolayabilir; ancak her gün ve her yeniden başlatmadan sonra son kullanma tarihini denetlemelidir.

    Uygulama, son kullanma tarihini ve saatini geçerli tarih ve saatle karşılaştırır. Sertifikanın süresi önceden belirlenmiş bir eşik süresi içinde dolarsa, uygulama yeni bir sertifika alır. Eşik süresinin uzunluğu sizin seçiminizdir. En iyi uygulama olarak, cihazın uzun bir süre çevrimdışı olması veya yinelenen ağ veya sunucu sorunlarıyla karşılaşması durumunda, süre dolmasından en az dört hafta önce yeni bir sertifika edinmenizi öneririz. Ne kadar erken kontrol ettiyseniz, sorunları çözmek için o kadar fazla zaman gerekir.

  3. Uygulama, uygun sertifikayı verenden yeni bir sertifika alır. Sertifika verenin seçimi yerel ağ yöneticisinin sorumluluğundadır.

  4. Uygulama, CertStore_InstallClientCertificate çağırarak yeni sertifikayı ClientCert2 olarak kaydeder ve WifiConfig_SetClientCertStoreIdentifierçağırarak Ağ1 Wi-Fi yapılandırmasına ekler.

  5. Uygulama, WifiConfig_ReloadConfig çağırarak Wi-Fi yapılandırmasını yeniden yükler. Bu adım, ClientCert2'yi ağ bağlantılarında kullanılmak üzere cihazın kullanımına hazır hale getirir.

  6. Ağ bağlantısının başarılı olup olmadığını denetleyin.

    • Başarılı bağlantı, ClientCert2'nin artık geçerli olduğu anlamına gelir.

      • CertStore_MoveCertificate çağırarak ClientCert2'yi ClientCert1 olarak yeniden adlandırın.

      • Ağın Etkin durumunu false olarak ayarlamak için WifiConfig_SetNetworkEnabled'yi çağırarak Ağ1'i devre dışı bırakın ve ardından Etkin durumunu trueolarak ayarlamak için WifiConfig_SetNetworkEnabled'ı çağırarak Ağ1'i yeniden etkinleştirin. Yapılandırmayı devre dışı bırakmak ve yeniden etkinleştirmek, yeniden adlandırılan sertifikanın içeriğini uygulamanın kullanımına sunar.

    • Bağlantı kurulamaması, ClientCert2'nin henüz geçerli olmadığı veya başka bir hata oluştuğu anlamına gelir.

      • Sertifika henüz geçerli değilse, ağ yapılandırmasını özgün durumuna döndürmek için 7. adımla devam edin.
      • Başka bir hata oluştuysa yardım için ağ sorunlarını giderme bölümüne bakın ve bağlantıyı yeniden deneyin.
  7. Ağ bağlantısının başarılı olup olmadığına bakılmaksızın, WifiConfig_ReloadConfig çağırarak Wi-Fi yapılandırmasını yeniden yükleyin. Bağlantı başarılı olursa, yeniden yüklenen yapılandırma ClientCert2 ile değiştirilen yeni ClientCert1'i kullanır. Bağlantı başarısız olursa, yeniden yüklenen yapılandırma ClientCert1 kullanır.