Sertifika zinciri doğrulanıyor

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Bu belgede, sertifikayı Apigee Edge'deki bir anahtar deposuna veya güven deposuna yüklemeden önce sertifika zincirinin nasıl doğrulanacağı açıklanmaktadır. Sertifika zincirini doğrulamak için OpenSSL araç setine dayanan süreç ve OpenSSL'nin kullanılabildiği tüm ortamlarda geçerlidir.

Başlamadan önce

Bu belgedeki adımları kullanmadan önce aşağıdaki konuları anladığınızdan emin olun:

  • Sertifika zinciri hakkında bilginiz yoksa Güven zinciri konusunu okuyun.
  • OpenSSL kitaplığına aşina değilseniz OpenSSL bölümünü okuyun.
  • Bu kılavuzdaki komut satırı örneklerini kullanmak istiyorsanız OpenSSL istemcisinin en son sürümünü yükleyin veya güncelleyin.
  • Sertifikaların PEM biçiminde olduğundan emin olun. Sertifikalar PEM biçiminde değilse bunları PEM biçimine dönüştürmek için Sertifikaları desteklenen biçime dönüştürme bölümündeki talimatları uygulayın.

Sertifikanın konusunu ve sertifikayı vereni tam zincir için doğrulama

OpenSSL komutlarını kullanarak sertifika zincirini doğrulamak için aşağıdaki bölümlerde açıklanan adımları tamamlayın:

Sertifika zincirini bölme

Sertifikayı doğrulamadan önce, aşağıdaki adımları uygulayarak sertifika zincirini ayrı sertifikalara bölmeniz gerekir:

  1. OpenSSL istemcisinin bulunduğu sunucuya giriş yapın.
  2. Sertifika zincirini aşağıdaki sertifikalara bölün (daha önce yapmadıysanız):
    • Varlık sertifikası: entity.pem
    • Orta düzey sertifika: intermediate.pem
    • Kök sertifika: root.pem

Aşağıdaki şekilde, örnek bir sertifika zinciri gösterilmektedir:

sertifika zinciri akışı: Kimlik sertifikasından Ara sertifikaya Kök sertifikaya geçiş

Sertifika konusunu ve sertifikayı vereni doğrulama

Bu bölümde, sertifikaların konusunu ve düzenleyeni nasıl alacağınız ve geçerli bir sertifika zinciriniz olduğunu nasıl doğrulayacağınız açıklanmaktadır.

  1. entity ile root arasındaki zincirdeki her sertifika için Subject ve Issuer değerlerini almak ve bunların uygun bir sertifika zinciri oluşturduğunu doğrulamak için aşağıdaki OpenSSL komutunu çalıştırın:
    openssl x509 -text -in certificate | grep -E '(Subject|Issuer):'
        

    Burada certificate sertifikanın adıdır.

  2. Zincirdeki sertifikaların aşağıdaki yönergelere uygun olduğunu doğrulayın:
    • Her sertifikanın Subject değeri, zincirde yer alan önceki sertifikanın Issuer ile eşleşir (Entity sertifikası hariç).
    • Subject ve Issuer kök sertifika için aynıdır.

    Zincirdeki sertifikalar bu yönergelere uyuyorsa, sertifika zincirinin eksiksiz ve geçerli olduğu kabul edilir.

    Örnek sertifika zinciri doğrulaması

    Aşağıdaki örnek, üç sertifika içeren örnek bir sertifika zinciri için OpenSSL komutlarının çıkışıdır:

    Varlık sertifikası

    openssl x509 -text -in entity.pem | grep -E '(Subject|Issuer):'
    
    Issuer: C = US, O = Google Trust Services, CN = GTS CA 1O1
    Subject: C = US, ST = California, L = Mountain View, O = Google LLC, CN = *.enterprise.apigee.com
            

    Orta düzey sertifika

    openssl x509 -text -in intermediate.pem  | grep -E '(Subject|Issuer):'
    
    Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
    Subject: C = US, O = Google Trust Services, CN = GTS CA 1O1
            

    Kök sertifika

    openssl x509 -text -in root.pem | grep -E '(Subject|Issuer):'
    
    Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
    Subject: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
            

    Yukarıda gösterilen örnekte aşağıdakilere dikkat edin:

    • Ara sertifikanın Subject değeri, varlık sertifikasının Issuer değeriyle eşleşiyor.
    • Kök sertifikanın Subject değeri, ara sertifikanın Issuer değeri ile eşleşiyor.
    • Subject ve Issuer kök sertifikada aynı.

    Yukarıdaki örnekten, örnek sertifika zincirinin geçerli olduğunu onaylayabilirsiniz.

Sertifika konusunu ve sertifikayı veren karmayı doğrulama

Bu bölümde, sertifikaların konusunun ve sertifikaların verenin karmasını nasıl alacağınız ve geçerli bir sertifika zinciriniz olduğunu nasıl doğrulayacağınız açıklanmaktadır.

Sertifikaların karma sırasını doğrulamak, sertifikanın istenmeyen boşluk veya özel karakterler içermesi gibi sorunların tanımlanmasına yardımcı olabileceğinden her zaman iyi bir uygulamadır.

  1. entity ile root arasındaki zincirde her sertifika için hash sırasını almak ve bunların uygun bir sertifika zinciri oluşturduğunu doğrulamak için aşağıdaki OpenSSL komutunu çalıştırın.
  2. openssl x509 -hash -issuer_hash -noout -in certificate
        

    Burada certificate sertifikanın adıdır.

  3. Zincirdeki sertifikaların aşağıdaki yönergelere uygun olduğunu doğrulayın:
    • Her sertifikanın Subject değeri, zincirde yer alan bir önceki sertifikanın Issuer değeriyle eşleşir (Entity sertifikası hariç).
    • Subject ve Issuer kök sertifika için aynıdır.

    Zincirdeki sertifikalar bu yönergelere uyuyorsa sertifika zinciri eksiksiz ve geçerli olarak kabul edilir.

    Karma dizisi aracılığıyla örnek sertifika zinciri doğrulaması

    Aşağıdaki örnek, üç sertifika içeren örnek bir sertifika zinciri için OpenSSL komutlarının çıkışıdır:

    openssl x509 -in entity.pem -hash -issuer_hash -noout
    c54c66ba #this is subject hash
    99bdd351 #this is issuer hash
        
    openssl x509 -in intermediate.pem -hash -issuer_hash -noout
    99bdd351
    4a6481c9
        
    openssl x509 -in root.pem -hash -issuer_hash -noout
    4a6481c9
    4a6481c9
        

    Yukarıda gösterilen örnekte aşağıdakilere dikkat edin:

    • Ara sertifikanın subject hash değeri, varlık sertifikasının issuer hash değeriyle eşleşiyor.
    • Kök sertifikanın subject hash değeri, sertifikayı verenin sertifikasının issuer hash değeri ile eşleşiyor.
    • subject ve issuer hash kök sertifikada aynı.

    Yukarıdaki örnekten, örnek sertifika zincirinin geçerli olduğunu onaylayabilirsiniz.

Sertifika süre sonunu doğrulama

Bu bölümde, aşağıdaki yöntemleri kullanarak zincirdeki tüm sertifikaların süresinin dolup dolmadığını nasıl doğrulayacağınız açıklanmaktadır:

  • Sertifikanın başlangıç ve bitiş tarihini alın.
  • Geçerlilik bitiş durumunu öğrenin.

Başlangıç ve bitiş tarihi

entity ile root arasındaki zincirdeki her sertifikanın başlangıç ve bitiş tarihini almak ve zincirdeki tüm sertifikaların geçerli olduğunu (başlangıç tarihi bugünden önce) ve süresinin dolmadığını doğrulamak için aşağıdaki OpenSSL komutunu çalıştırın.

Başlangıç ve bitiş tarihlerine kadar örnek sertifika süre sonu doğrulaması

openssl x509 -startdate -enddate -noout -in entity.pem
notBefore=Feb  6 21:57:21 2020 GMT
notAfter=Feb  4 21:57:21 2021 GMT
openssl x509 -startdate -enddate -noout -in intermediate.pem
notBefore=Jun 15 00:00:42 2017 GMT
notAfter=Dec 15 00:00:42 2021 GMT
openssl x509 -startdate -enddate -noout -in root.pem
notBefore=Apr 13 10:00:00 2011 GMT
notAfter=Apr 13 10:00:00 2022 GMT

Süre sonu durumu

Sertifikanın süresinin dolup dolmadığını veya önümüzdeki N seconds gün içinde dolmak üzere olup olmadığını kontrol etmek için aşağıdaki OpenSSL komutunu çalıştırın. Bu değer, geçerli sistem tarihi bağlamında sertifikanın süre sonu durumunu döndürür.

openssl x509 -checkend <N Seconds> -noout -in certificate

Burada certificate sertifikanın adıdır.

Checkend seçeneğiyle sertifika süre sonu doğrulaması

Aşağıdaki komut, sertifikanın süresinin dolup dolmadığını kontrol etmek için 0 seconds politikasını kullanır:

openssl x509 -checkend 0 -noout -in entity.pem
Certificate will not expire
openssl x509 -checkend 0 -noout -in intermediate.pem
Certificate will not expire
openssl x509 -checkend 0 -noout -in root.pem
Certificate will not expire

Bu örnekte, Certificate will not expire mesajı sertifikanın süresinin henüz dolmadığını belirtir.