Köhnə P12 OpenSSL 3-də uğursuz olur: yanlış parol, yoxsa köhnə şifrə?
Səhv yazılmış parol ifadəsini OpenSSL 3-ün açmaqdan imtina etdiyi köhnə RC2 paketindən ayırın, sonra faylı açar qorumasını soyrmadan yenidən möhürləyin.
İdxal dialoqu parolunuzu alır, bir an fırlanır və sonra paketi oxuya bilmədiyini bildirir. Bu mesajda nə parol ifadəsini səhv yazdığınız, nə də faylın müştərinin artıq təqdim etmədiyi şifrə ilə möhürləndiyi barədə heç nə deyilmir. Bunlar fərqli düzəlişləri olan fərqli nasazlıqlardır və səhv seçim yalnız qərarı təxirə salan müştəri versiyasının aşağı salınmasına gətirib çıxarır. Müştərinin hansı mərhələdə dayandığına baxmaq onları təxminən bir dəqiqədə ayırır.
Diaqloqla sertifikat siyahısı arasında nə baş verir
.p12 faylı sertifikat deyil, konteynerdir. İçində bir və ya bir neçə sertifikat kisəsi və parolunuzdan çıxarılan açarla şifrələnmiş şəxsi açar kisəsi, üstəlik bütün fayl üzərində MAC adlanan bütövlük yoxlaması var. Onu açmaq həmin MAC-ı yoxlamaq, açar kisəsini deşifrə etmək və sertifikatı oradan çıxan açarla uyğunlaşdırmaq deməkdir.
Parol problemi MAC mərhələsində gəlir. Şifrə problemi isə daha sonra, açar kisəsini açmaq lazım gələndə və bunu edən quruluşun faylda adı çəkilən alqoritm üçün heç bir tətbiqi olmayanda gəlir.
İkinci hal müasir sistemlərdə geniş yayılıb, çünki OpenSSL 3 bir qrup köhnə alqoritmi istəyə bağlı legacy provayderinə köçürdü. OpenSSL 1.x tərəfindən ixrac edilən paketlər adətən sertifikatları 40 bitlik RC2 ilə, şəxsi açarı isə üç açarlı Triple DES ilə möhürləyirdi. Standart OpenSSL 3 quruluşu düzgün parolunuzla MAC-ı yenə də yoxlayır və sonra kisədə uğursuz olur, yəni parol heç vaxt səhv olmayıb və onu yenidən yazmaq heç nəyi dəyişmir.
Konteyneri açarı xaricə yazmadan oxuyun
Öz maşınınızdakı OpenSSL quruluşundan faylı təhlil etməsini və harada təslim olduğunu oxumasını xahiş edin. Çıxış faylı olmadan yoxlama açarı diskdə şifrələnmiş vəziyyətdə saxlayır və bu addımın ortaq hostda təhlükəsiz olmasının yeganə səbəbi budur.
openssl pkcs12 -in vpn-identity.p12 -info -nooutDüzgün parolla köhnə paketdə bu, kisə atributlarını çap edir və sonra digital envelope routines::unsupported ilə dayanır. Səhv parolla hər hansı kisə oxunmazdan əvvəl Mac verify error: invalid password? alırsınız. İki mesaj əks istiqamətlərə işarə edir və bu, müştərinin gizlətdiyi məlumatın elə özüdür.
Əgər nasazlıq dəstəklənməyən alqoritmlə bağlıdırsa, eyni əmri -legacy əlavə edərək və başqa heç nəyi dəyişmədən yenidən işə salın. Bu bayraq legacy provayderini yalnız həmin proses üçün yükləyir. O, VPN müştərisini köhnə paketləri təhlil etməyə məcbur etmir, sistem səviyyəsində kripto siyasətinə toxunmur və bu, təmir deyil, ölçmədir, çünki fayl yenə də dəyişdirilməlidir.
Hansı xəta hansı mərhələ deməkdir
Qısa cədvəl üç nəticəni bir-birindən ayırır və ifadə dialoqun harada göründüyündən daha vacibdir.
| Text you see | Stage | What it tells you |
|---|---|---|
Mac verify error: invalid password? | Integrity check | Passphrase or cached credential, not the cipher |
digital envelope routines::unsupported | Bag decrypt | Algorithm missing from the default provider |
not enough data / header too long | Container format | Wrong encoding, edited file, or truncated download |
not enough data və ya header too long kimi mətn ilk iki qrupdan heç birinə aid deyil. Bu, format problemidir: .pem olaraq adlandırılmış DER faylı, sətir sonlarını yenidən yazan redaktorun korladığı surət və ya natamam yükləmə. Şifrələrə baxmağa başlamazdan əvvəl nəzarət cəmini buraxan tərəfin göndərdiyi ilə müqayisə edin.
Mac verify error yalnız parolla bağlı sübut kimi qəbul edin. Bu o deməkdir ki, yazdığınızdan hesablanan MAC saxlanan dəyərlə uyğun gəlmir; bu, yazı səhvi ilə, əvvəlki idxaldan keşlənmiş parolla və ya fərqli parol ifadəsi ilə yenidən ixrac edilmiş faylla baş verir. İçindəki alqoritmlərin köhnə olub-olmadığı barədə isə heç nə demir.
Müştərinin həqiqətən aça biləcəyi paket qurun
Legacy təhlilçisi faylın sağlam olduğunu təsdiqlədikdən sonra davamlı həll, hədəf müştərinin alqoritmlərini dəstəklədiyi bir əvəzləmədir: açar və sertifikat kisələri üçün AES-256-CBC, törəmə üçün SHA-256 ilə PBKDF2 və MAC üçün SHA-256. PKI administratorunuz bunu eyni açar materialından ixrac edə bilər və içindəki sertifikat serverlərinizin artıq etibar etdiyi sertifikat olaraq qalır.
Lokal olaraq çevirməli olduğunuzda, pkcs12 alətindən kisələri əvvəlcə boşaltmaq əvəzinə yenidən möhürləməsini xahiş edin. Hər iki parol ifadəsini fayldan oxuyaraq shell tarixçənizdən kənarda saxlayın.
openssl pkcs12 -in vpn-identity.p12 -out vpn-identity-aes.p12 \
-keypbe AES-256-CBC -certpbe AES-256-CBC -macalg sha256 \
-passin file:old.pass -passout file:new.passUğurlu çevirmə bitmə tarixi, açar istifadəsi, şəxsi açarın uyğunluğu və ya serverin buraxan zəncirə etibar edib-etmədiyi barədə heç nə demir. Yenidən paketləmə yenilənmə deyil, nəqliyyat dəyişikliyidir və bunların hər biri hələ də öz yoxlamasını tələb edir.
Yalnız müştəri faylı sonradan qəbul etdiyi üçün qorunmayan aralıq açar yazan və ya boş çıxış parolu istəyən hər hansı reseptdən yayının. Qoruması soyulmuş oxunaqlı paket, başladığınız idxal nasazlığından daha pis nəticədir.
Müştərinin qurduğunuz faylı idxal etdiyini təsdiqləyin
Terminalda təmiz təhlil konteynerin etibarlı olduğunu sübut edir. Müştərinin onu seçdiyini sübut etmir, çünki qalmış profil köhnə fayla işarə etməyə davam edə bilər və bəzi müştərilər idxal edilmiş şəxsiyyəti sizin seçmədiyiniz ad altında keşləyir.
İdxal etmək üzrə olduğunuz şəxsiyyəti çap edin və onu müştərinin sertifikat görünüşündə göstərdiyi ilə müqayisə edin.
openssl pkcs12 -in vpn-identity-aes.p12 -clcerts -nokeys -passin file:new.pass \
| openssl x509 -noout -subject -dates -fingerprint -sha256Əvvəlcə köhnəlmiş profil qeydini silin, sonra idxal edin. Əgər müştəri yüklədiyi subyekti və ya barmaq izini jurnala yazırsa, onu yuxarıdakı sətirlə uyğunlaşdırın; yalnız dost ad göstərirsə, bunun əvəzinə bitmə tarixini yoxlayın, çünki onu eyni buraxan tərəfin başqa sertifikatı ilə qarışdırmaq daha çətindir.
PKCS12 istinadı burada istifadə olunan provayder, parol ifadəsi və çıxış seçimlərini sadalayır. Legacy provayderini müştəri mühitindən kənarda saxlamaq əsas məqsəddir: onunla ölçün, onsuz göndərin və şəxsi açarı diskdə qorunan vəziyyətdə buraxın.