Klientı açırsınız, aylardır istifadə etdiyiniz profili seçirsiniz və o, "certificate is not yet valid" mesajı ilə dayanır. Girişinizdə heç nə dəyişməyib və etibarlılıq anbarı çox güman ki, qaydasındadır: əl sıxma zamanı təqdim olunan sertifikatın etibarlılıq pəncərəsi yoxlayıcının istifadə etdiyi andan sonra başlayır. Üç fərqli vəziyyət məhz bu mesajı yaradır və onlar fərqli tədbirlər tələb edir. Aşağıdakı sıra saatı və ya sertifikat faylını toxunmadan əvvəl hansı vəziyyətdə olduğunuzu deyir.

Üç səbəbdən hansı ilə qarşılaşırsınız

Birinci səbəb lokaldır: yoxlamanı aparan cihazın saatı sertifikatın başlama tarixindən əvvəldir. Bunu ölü CMOS batareyası olan avadanlıqda, köhnə snapshotdan bərpa edilmiş virtual maşınlarda, vaxt itirmək üçün kifayət qədər uzun müddət söndürülmüş cihazlarda və çıxan NTP-nin bloklandığı, heç kimin fərqinə varmadığı şəbəkələrdə görürsünüz. Sertifikat tamamilə etibarlı ola bilər və yenə də bu şəkildə uğursuz olar.

İkinci səbəb verənə aiddir, çünki sertifikat həqiqətən gələcəkdə başlayır: erkən verilib, açıq başlama vaxtı ilə yaradılıb və ya hələ işləməmiş aktivləşdirmə addımının bir hissəsi kimi imzalanıb. Üçüncü səbəb ən çox vaxt itirir, çünki yarpaq sertifikat aktualdır, təqdim olunan zəncirdəki başqa bir sertifikat isə deyil, buna görə xəta heç vaxt quraşdırmadığınız materialı adlandırır.

Onları bir sual ayırır. Uğursuzluq cihazı, yoxsa xidməti izləyir? Eyni şəbəkədə fərqli davranan iki maşın saatlara işarə edir. Hər klient eyni şəkildə uğursuz olursa, bu, sertifikatın pəncərəsinə və arxasındakı zəncirə işarə edir.

Pəncərəni həqiqətən təqdim edilmiş sertifikatdan oxuyun

Əvvəlki yerləşdirmədən qalmış PEM faylını yoxlamayın; xidmətdən indi göndərdiyi zənciri soruşun. openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts zəncirdəki hər sertifikatı çap edir. Sizi maraqlandıran bloku saxlayın və openssl x509 -noout -subject -issuer -dates işə salın; sonuncusu notBefore və notAfter-i çap edir, qərarı verən iki dəyər də bunlardır. Windows-da əlaqə üçün sertifikat dialoqu və ixrac edilmiş faylda certutil -dump eyni sahələri göstərir.

Pəncərənin hər iki ucunu oxuyun, yalnız başlanğıcı yox. İki saat sonra açılan sertifikatla iki saat sonra bağlanan sertifikat fərqli mesajlarla uğursuz olur və fərqli komandaları cəlb edir. Xətanın hansı sertifikatı adlandırdığını qeyd edin — yarpaq, ara və ya kök — çünki bu, klient tərəfində ümumiyyətlə nəyinsə düzəldilə biləcəyini müəyyən edir.

Pəncərəni gözləmədən də yoxlaya bilərsiniz. Doğrulama açıq vaxt qəbul edir: openssl verify -attime 1793600000 -CAfile ca.pem -untrusted intermediate.pem leaf.pem zənciri həmin vaxt möhürünə görə qiymətləndirir. Uğursuzluğu təkrarlamaq üçün cari vaxtla, sonra pəncərə açıldıqdan sonra eyni zəncirin keçdiyini təsdiqləmək üçün sertifikatın başlama vaxtı ilə işə salın. RFC 5280 etibarlılıq sahəsini və sertifikatın ondan kənarda istifadə olunmaması qaydasını müəyyən edir, klientinizin indicə tətbiq etdiyi qayda da budur.

Sizin saatınız, yoxsa onlarınkı

Cihazın saatını sertifikatın UTC-də başlaması ilə, etibar etdiyiniz mənbədən müqayisə edin. date -u anı verir, systemd hostunda timedatectl status isə saatın sinxronlaşdırılıb-sinxronlaşdırılmadığını da bildirir. Windows-da w32tm /query /status cari mənbəni və son uğurlu sinxronlaşdırmanı göstərir. Sistem tepsisində göstərilən saat qurşağı ekran seçimidir, səhv saat deyil; yoxlayıcı UTC anlarını müqayisə edir.

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 geridədirsə, hər hansı sertifikat materialını dəyişməzdən əvvəl yenidən sinxronlaşdırın və yenidən yoxlayın. Dəqiqələrlə və ya saatlarla səhv olan cihaz rastlaşdığı hər yeni verilmiş sertifikatı rədd edir, təkcə bir xidməti yox, ona görə də tək xidmət izahı adətən səhv izahdır. Saat düzdürsə və sinxronlaşdırılıbsa, cihaza baxmağı dayandırın: pəncərə verənə aiddir və keçməsi üçün heç bir lokal parametr dəyişdirilməməlidir.

Həmin cədvəl bütün qərardır. Saatınızı sertifikatın gözlədiyi dəyərə köçürmək təmir deyil, vaxt yoxlamalarını söndürmək də təmir deyil, çünki hər ikisi xətanı yaradan vəziyyəti gizlədir.

Niyə yarpaq yaxşı görünəndə zəncir uğursuz olur

Yenilənmiş yarpaqlar və əvəzedici ara sertifikatlar adətən birlikdə göndərilir və həmişə eyni anda yerə çatmır. Xidmət öz pəncərəsi sonra başlayan ara sertifikatla imzalanmış yeni yarpaq göndərə, ya da təzə yarpaq altında köhnə ara sertifikatı təqdim etməyə davam edə bilər. Hər iki halda yarpağın öz tarixləri məqbul görünərkən zəncir uğursuz olur.

Yük balanslaşdırılmış son nöqtələr bunu qırıqdan qeyri-sabitə çevirir. Yenidən cəhd uğurlu olarsa və ya bir şəbəkə işləyib digəri işləmirsə, parametrləri dəyişməzdən əvvəl hansı peerin cavab verdiyini və hansı zənciri göndərdiyini qeyd edin. openssl s_client qoşulmuş ünvanı çap edir, buna görə bir neçə cəhd hər nodeun eyni zənciri təqdim edib-etmədiyini üzə çıxarır.

Doğruluğu toxunulmaz saxlayan təmir yolları

Saat problemi cihazda, doğrulama aktiv qalmaqla düzəldilir. Sertifikat problemi operator tərəfindən, artıq indini əhatə edən pəncərə üçün verilmiş materialla düzəldilir. Heç bir klient parametri hələ etibarlı olmayan sertifikatı etibarlı etmir; vaxt yoxlamalarını keçən bayraqlar diaqnozu təsdiqləmək üçün mövcuddur, onları yerləşdirmək üçün deyil.

Sertifikat planlaşdırılmış aktivləşdirmə üçün hazırlanıbsa, keçid planına əməl edin. Pəncərəsi açılanda quraşdırın və ya provayderin sənədləşdirdiyi üst-üstə düşmə prosedurundan istifadə edin, erkən quraşdırıb istifadəçilərə xəbərdarlıqları keçməyi öyrətmək əvəzinə. İnsanların laqeyd qalmağı öyrəndiyi xəbərdarlıqlar qısa gecikmədən daha baha başa gəlir.

Nəhayət, uğursuzluğun baş verdiyi şəkildə yenidən yoxlayın: yeni sessiya, eyni klient, həqiqətən ehtiyac duyduğunuz resurs. TLS kitabxanaları yoxlanılmış zənciri bağlantının ömrü boyu keşləyə bilər və bərpa edilmiş sessiya onu mütləq yenidən yoxlamır, buna görə köhnə sessiya düzəlişdən sonra uğursuz olmağa və ya geriləmədən sonra işləməyə davam edə bilər. Görüntüləyicidə açılan fayl yalnız faylın oxunaqlı olduğunu sübut edir; tamamlanmış əl sıxma zəncirin doğrulandığını sübut edir.

Bileti bağlamazdan əvvəl dörd şeyi təsdiqləyin: uğursuz cihazın UTC vaxtı və sinxronlaşdırma vəziyyəti, təqdim olunan zəncirdəki hər sertifikatın notBefore və notAfter dəyərləri, ikinci klientdən eyni zəncir və xətanın sertifikata verdiyi ad. Saat düzdürsə və pəncərə hələ açılmayıbsa, qalanı operatorun işidir və sizin tərəfdə düzgün addım yoxlamanı zəiflətmək əvəzinə pəncərəni gözləməkdir.

Əlaqəli məqalələr