Vecais P12 neiet ar OpenSSL 3: nepareiza parole vai vecs šifrs?
Atšķiriet nepareizi ievadītu paroles frāzi no veca RC2 komplekta, ko OpenSSL 3 atsakās izpakot, un pēc tam atkārtoti aizzīmogojiet failu, nenoņemot atslēgas aizsardzību.
Importa dialogs paņem jūsu paroli, īsu brīdi griežas un tad paziņo, ka nevar nolasīt komplektu. Nekas tajā ziņojumā nepasaka, vai jūs nepareizi ievadījāt paroles frāzi, vai fails tika aizzīmogots ar šifru, ko klients vairs nepiegādā. Tās ir dažādas kļūmes ar dažādiem labojumiem, un nepareiza izvēle noved pie klienta versijas pazemināšanas, kas tikai atliek lēmumu. Posma, kurā klients apstājas, vērošana tos atšķir apmēram minūtes laikā.
Kas notiek starp dialogu un sertifikātu sarakstu
.p12 fails ir konteiners, nevis sertifikāts. Iekšā ir viena vai vairākas sertifikātu somas un privātās atslēgas soma, kas šifrēta ar atslēgu, kas atvasināta no jūsu paroles, kā arī visas datnes integritātes pārbaude ar nosaukumu MAC. To atvērt nozīmē pārbaudīt šo MAC, atšifrēt atslēgas somu un saskaņot sertifikātu ar iznākošo atslēgu.
Paroles problēma parādās MAC posmā. Šifra problēma parādās vēlāk, kad atslēgas soma ir jāizpako un būvējumam, kas to dara, nav tā algoritma ieviešanas, kas nosaukts failā.
Otrais gadījums mūsdienu sistēmās ir bieži sastopams, jo OpenSSL 3 vecu algoritmu grupu pārcēla uz izvēles legacy provider. OpenSSL 1.x eksportētie komplekti parasti aizzīmogoja sertifikātus ar 40 bitu RC2 un privāto atslēgu ar trīs atslēgu Triple DES. Noklusējuma OpenSSL 3 būvējums joprojām pārbauda MAC ar jūsu pareizo paroli un pēc tam nokrīt pie somas, tāpēc parole nekad nav bijusi nepareiza un tās atkārtota ievade neko nemaina.
Nolasiet konteineru, neizrakstot atslēgu
Lūdziet OpenSSL būvējumam savā mašīnā parsēt failu un parādīt vietu, kur tas padodas. Pārbaude bez izvades faila atstāj atslēgu šifrētu diskā, un tas ir vienīgais iemesls, kāpēc šo soli ir droši veikt koplietotā resursdatorā.
openssl pkcs12 -in vpn-identity.p12 -info -nooutVecam komplektam ar pareizu paroli tas izdrukā somas atribūtus un pēc tam apstājas ar digital envelope routines::unsupported. Ar nepareizu paroli jūs saņemat Mac verify error: invalid password? pirms jebkuras somas nolasīšanas. Abi ziņojumi rāda pretējos virzienos, un tieši šo informāciju klients noklusēja.
Ja kļūda ir par neatbalstītu algoritmu, palaidiet to pašu komandu vēlreiz ar pievienotu -legacy un neko citu nemainot. Šis karodziņš ielādē legacy provider tikai vienam procesam. Tas neliek VPN klientam parsēt vecus komplektus, tas neaizskar sistēmas kriptogrāfijas politiku, un tas ir mērījums, nevis labojums, jo fails joprojām ir jāaizstāj.
Kura kļūda nozīmē kuru posmu
Īsa tabula nošķir trīs iznākumus, un formulējums ir svarīgāks par to, kur dialogs parādījās.
| 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 |
Teksts, piemēram, not enough data vai header too long, nepieder nevienai no pirmajām divām grupām. Tā ir formāta problēma: DER fails, pārdēvēts par .pem, redaktora sabojāta kopija, kas pārrakstīja rindu beigas, vai nepilnīgi lejupielādēts fails. Pirms sākat skatīt šifrus, salīdziniet kontrolsummu ar to, ko nosūtīja izdevējs.
Mac verify error uztveriet tikai kā pierādījumu par paroli. Tas nozīmē, ka MAC, kas aprēķināts no ievadītā, neatbilst saglabātajai vērtībai, un tā notiek drukas kļūdas dēļ, iepriekšējā importā saglabātas paroles dēļ vai faila dēļ, kas no jauna eksportēts ar citu paroles frāzi. Tas neko nepasaka par to, vai iekšienē esošie algoritmi ir veci.
Izveidojiet komplektu, ko klients tiešām var atvērt
Kad legacy parsētājs apstiprina, ka fails ir vesels, ilgstošais risinājums ir aizstājējs, kura algoritmus atbalsta mērķa klients: AES-256-CBC atslēgas un sertifikātu somām, PBKDF2 ar SHA-256 atvasināšanai un SHA-256 MAC. Jūsu PKI administrators to var eksportēt no tā paša atslēgu materiāla, un iekšā esošais sertifikāts paliek tas, kuram jūsu serveri jau uzticas.
Kad jākonvertē lokāli, lūdziet pkcs12 rīkam atkārtoti aizzīmogot somas, nevis vispirms tās izmest. Turiet abas paroles frāzes ārpus savas čaulas vēstures, lasot tās no faila.
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.passVeiksmīga konversija neko nepasaka par derīguma termiņu, atslēgas lietojumu, privātās atslēgas atbilstību vai to, vai serveris uzticas izdevēja ķēdei. Pārsaiņošana ir transportēšanas izmaiņa, nevis atjaunošana, un katram no tiem joprojām vajadzīga sava pārbaude.
Izlaidiet jebkuru recepti, kas ieraksta neaizsargātu starpatslēgu vai atstāj tukšu izvades paroli tikai tāpēc, ka klients pēc tam pieņēma failu. Lasāms komplekts ar noņemtu aizsardzību ir sliktāks iznākums par importa kļūmi, ar ko sākāt.
Pārbaudiet, vai klients importēja jūsu izveidoto failu
Tīra parsēšana terminālī pierāda, ka konteiners ir derīgs. Tā nepierāda, ka klients to izvēlējās, jo atlikušais profils var turpināt norādīt uz veco failu, un daži klienti kešatmiņā glabā importēto identitāti ar nosaukumu, ko neizvēlējāties.
Izdrukājiet identitāti, ko grasāties importēt, un salīdziniet to ar to, ko klients rāda sertifikātu skatā.
openssl pkcs12 -in vpn-identity-aes.p12 -clcerts -nokeys -passin file:new.pass \
| openssl x509 -noout -subject -dates -fingerprint -sha256Vispirms noņemiet novecojušo profila ierakstu, tad importējiet. Ja klients reģistrē ielādēto subjektu vai pirksta nospiedumu, salīdziniet to ar rindu augstāk; ja tas rāda tikai draudzīgu nosaukumu, pārbaudiet derīguma beigu datumu, jo to ir grūtāk sajaukt ar citu tā paša izdevēja sertifikātu.
PKCS12 atsauce uzskaita šeit izmantotos provider, paroles frāzes un izvades parametrus. Legacy provider turēšana ārpus klienta vides ir galvenais: mēriet ar to, piegādājiet bez tā un atstājiet privāto atslēgu aizsargātu diskā.