İstemciyi açıyorsunuz, aylardır kullandığınız profili seçiyorsunuz ve "certificate is not yet valid" ile duruyor. Oturum açmanızda hiçbir şey değişmedi ve güven deposu muhtemelen sağlam: el sıkışmada sunulan sertifikanın geçerlilik penceresi, doğrulayıcının kullandığı andan daha sonra başlıyor. Tam olarak bu mesajı üç farklı durum üretir ve farklı eylemler gerektirir. Aşağıdaki sıra, bir saate veya sertifika dosyasına dokunmadan önce hangisine sahip olduğunuzu söyler.

Üç nedenden hangisine bakıyorsunuz

İlk neden yereldir: kontrolü yapan cihazın saati sertifikanın başlangıç tarihinden daha erkendir. Bunu ölü CMOS pili olan donanımda, eski bir anlık görüntüden geri yüklenen sanal makinelerde, zamanı kaybedecek kadar uzun süre kapalı kalan cihazlarda ve giden NTP'nin engellendiği ama kimsenin fark etmediği ağlarda görürsünüz. Sertifika tamamen geçerli olabilir ve yine de bu şekilde başarısız olabilir.

İkinci neden veren tarafa aittir, çünkü sertifika gerçekten gelecekte başlıyor: erken verilmiş, açık bir başlangıç zamanıyla oluşturulmuş veya henüz çalışmamış bir etkinleştirme adımının parçası olarak imzalanmış. Üçüncü neden en çok zaman kaybettirir, çünkü yaprak güncelken sunulan zincirdeki başka bir sertifika değildir, bu yüzden hata hiç kurmadığınız malzemeyi adlandırır.

Bunları tek bir soru ayırır. Hata cihazı mı yoksa hizmeti mi izliyor? Aynı ağdaki iki makinenin farklı davranması saatlere işaret eder. Her istemci aynı şekilde başarısız oluyorsa bu, sertifikanın penceresine ve arkasındaki zincire işaret eder.

Pencereyi gerçekten sunulan sertifikadan okuyun

Önceki bir dağıtımdan kalan PEM dosyasını incelemeyin; hizmetten şu anda gönderdiği zinciri isteyin. openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts zincirdeki her sertifikayı yazdırır. İhtiyacınız olan bloğu kaydedin ve openssl x509 -noout -subject -issuer -dates çalıştırın; sonuncusu notBefore ve notAfter değerlerini yazdırır ve kararı bu iki değer verir. Windows'ta bağlantının sertifika iletişim kutusu ve dışa aktarılan bir dosyada certutil -dump aynı alanları gösterir.

Pencerenin iki ucunu okuyun, yalnızca başlangıcını değil. İki saat sonra açılan bir sertifika ile iki saat sonra kapanan bir sertifika farklı mesajlarla başarısız olur ve farklı ekipleri ilgilendirir. Hatanın hangi sertifikayı adlandırdığını not edin — yaprak, ara veya kök — çünkü bu, istemci tarafında herhangi bir şeyin düzeltilip düzeltilemeyeceğini belirler.

Pencereyi beklemeden de test edebilirsiniz. Doğrulama açık bir zaman kabul eder: openssl verify -attime 1793600000 -CAfile ca.pem -untrusted intermediate.pem leaf.pem zinciri o zaman damgasında değerlendirir. Hatayı yeniden üretmek için geçerli zamanla, ardından pencere açıldığında aynı zincirin geçtiğini doğrulamak için sertifikanın başlangıç zamanıyla çalıştırın. RFC 5280 geçerlilik alanını ve sertifikanın bunun dışında kullanılmaması kuralını tanımlar ve istemcinizin az önce uyguladığı kural tam olarak budur.

Sizin saatiniz mi, onlarınki mi

Cihazın saatini sertifikanın UTC başlangıcıyla, güvendiğiniz bir kaynaktan karşılaştırın. date -u anı verir ve systemd ana bilgisayarında timedatectl status saatin eşitlenip eşitlenmediğini de bildirir. Windows'ta w32tm /query /status geçerli kaynağı ve son başarılı eşitlemeyi gösterir. Sistem tepsisinde gösterilen saat dilimi bir görüntüleme seçimidir, yanlış saat değildir; doğrulayıcı UTC anlarını karşılaştırır.

What you seeMost likely readingNext step
Clock behind, one device affectedLocal time faultResync time, keep validation on, retest
Clock correct, window opens soonCertificate staged earlyWait for the window or follow the cutover plan
Clock correct, intermediate not yet validChain material mismatchOperator replaces the intermediate
Some peers pass, others do notInconsistent nodesRecord each peer's chain before changing anything

Saat gerideyse, herhangi bir sertifika malzemesini değiştirmeden önce yeniden eşitleyin ve yeniden test edin. Dakikalar veya saatler yanlış olan bir cihaz, karşılaştığı her yeni verilmiş sertifikayı reddeder, yalnızca bir hizmeti değil, bu yüzden tek hizmet açıklaması genellikle yanlış olandır. Saat doğru ve eşitlenmişse cihaza bakmayı bırakın: pencere verene aittir ve geçmesi için hiçbir yerel ayar değiştirilmemelidir.

O tablo tüm karardır. Saati sertifikanın beklediği değere taşımak bir onarım değildir ve zaman kontrollerini kapatmak da değildir, çünkü ikisi de hatayı üreten durumu gizler.

Yaprak iyi görünürken zincir neden başarısız olur

Yenilenen yapraklar ve yedek ara sertifikalar genellikle birlikte gönderilir ve her zaman aynı anda gelmezler. Bir hizmet, kendi penceresi daha sonra başlayan bir ara sertifikayla imzalanmış yeni bir yaprak gönderebilir veya taze bir yaprağın altında daha eski bir ara sertifika sunmaya devam edebilir. Her iki durumda da yaprağın kendi tarihleri makul görünürken zincir başarısız olur.

Yük dengeli uç noktalar bunu bozuktan tutarsıza çevirir. Yeni bir deneme başarılı olursa veya bir ağ çalışıp diğeri çalışmazsa, ayarları değiştirmeden önce hangi eşin yanıt verdiğini ve hangi zinciri gönderdiğini kaydedin. openssl s_client bağlanılan adresi yazdırır, böylece birkaç deneme her düğümün aynı zinciri sunup sunmadığını ortaya çıkarır.

Doğrulamayı bozmadan koruyan onarım yolları

Saat sorunu cihazda doğrulama açık bırakılarak düzeltilir. Sertifika sorunu operatör tarafından artık şimdiyi içeren bir pencere için verilmiş malzemeyle düzeltilir. Hiçbir istemci ayarı henüz geçerli olmayan bir sertifikayı geçerli yapmaz; zaman kontrollerini atlayan bayraklar tanıyı doğrulamak için vardır, üretime almak için değil.

Sertifika planlanmış bir etkinleştirme için hazırlandığında geçiş planını izleyin. Penceresi açıldığında kurun veya sağlayıcının belgelediği örtüşme prosedürünü kullanın; erken kurup kullanıcılara uyarıları tıklamayı öğretmek yerine. İnsanların görmezden gelmeyi öğrendiği uyarılar kısa bir gecikmeden daha pahalıdır.

Son olarak, hata nasıl oluştuysa öyle yeniden test edin: yeni bir oturum, aynı istemci, gerçekten ihtiyaç duyduğunuz kaynak. TLS kitaplıkları doğrulanmış zinciri bir bağlantının ömrü boyunca önbelleğe alabilir ve devam ettirilen bir oturum onu mutlaka yeniden kontrol etmez, bu yüzden eski bir oturum düzeltmeden sonra başarısız olmaya veya bir gerilemeden sonra çalışmaya devam edebilir. Bir görüntüleyicide açılan dosya yalnızca dosyanın okunabilir olduğunu kanıtlar; tamamlanmış bir el sıkışma zincirin doğrulandığını kanıtlar.

Kaydı kapatmadan önce dört şeyi doğrulayın: başarısız cihazın UTC saati ve eşitleme durumu, sunulan zincirdeki her sertifikanın notBefore ve notAfter değerleri, ikinci bir istemciden aynı zincir ve hatanın sertifikaya verdiği ad. Saat doğruysa ve pencere henüz açılmadıysa geri kalanı operatörün işidir ve sizin tarafınızdaki doğru hamle, kontrolü zayıflatmak yerine pencereyi beklemektir.

İlgili makaleler