Kopiranje VPN certifikata ne kopira ključ
Certifikat sadrži javni ključ i potpisani identitet; njegov privatni ključ je odvojen. Pročitajte izvozni paket prije nego pretpostavite da kopija može provesti autentifikaciju.
Pregled počinje na popisu certifikata klijenta, gdje unos prikazuje samo naziv, izdavatelja i datum isteka i ništa više. Izvezite ga, uvezite na drugom uređaju i veza se odbija jer klijent ne može dokazati posjedovanje privatnog ključa. Datoteka je kopirana u cijelosti; pogreška je očekivati da certifikat nosi vlastiti ključ. Pročitajte dijalog za izvoz prije nego odaberete format, zatim pregledajte datoteku koju ste doista dobili.
Dva klika, dva posve različita artefakta.
Čitajte dijalog za izvoz, ne nastavak datoteke
Izvoz certifikata DER ili PEM sadrži javni ključ i potpisane tvrdnje o identitetu, što je ono što poslužitelju treba da bi vam vjerovao i što klijentu treba da bi provjerio poslužitelj. Paket PKCS#12 je spremnik koji može sadržavati certifikat, njegov lanac i odgovarajući privatni ključ, zaštićen zaporkom, iako se može izraditi i bez ključa.
PEM je samo tekstualno kodiranje, a ne obećanje o sadržaju. Isti nastavak može opisivati jedan certifikat ili datoteku s nekoliko označenih blokova, a o tome odlučuju opcije izvoza.
Zato korisno pitanje nikada nije koji ste nastavak dobili, nego koje blokove datoteka sadrži. Paket izvezen bez ključa i dalje je paket. Provjerite sadržaj, a ne popularnost formata.
Pregledajte što ste doista dobili
Potražite oznake prije nego bilo što uvezete, zatim pročitajte polja certifikata da potvrdite koji identitet držite. Provedite provjere na datoteci koja će doista biti uvezena. Ponovite ih nakon svakog ponovnog izvoza, jer se opcije mogu razlikovati.
grep -E 'BEGIN (CERTIFICATE|PRIVATE KEY|ENCRYPTED PRIVATE KEY)' bundle.pem openssl x509 -in client.crt -noout -subject -issuer -dates openssl pkey -in client.key -noout -text | head -5 openssl pkcs12 -info -in client.p12 -noout
Izvoz samo s blokom certifikata javni je objekt i ne može se autentificirati. Blok ključa bez certifikata ostavlja vas bez lanca koji poslužitelj očekuje. Izlaz podataka PKCS#12 također javlja je li ključ prisutan, što rješava pitanje za taj format. Navodi i algoritam i veličinu ključa te potpuno zataji kada ključa nema.
Nikada ne lijepite datoteku koja sadrži privatni ključ u temu podrške, praćenje problema ili razgovor, čak i kada izgleda kao certifikat koji ste već dijelili. Snimke zaslona ploče s ključem zaslužuju istu pozornost.
Ključ može živjeti tamo odakle ga ne možete kopirati
Na upravljanim uređajima privatni ključ može stajati u privjesku ključeva operacijskog sustava, hardverskom tokenu ili sigurnoj enklavi, uz pravilo koje ga označava neizvozivim. Upravitelj certifikata tada prikazuje javni objekt dok tajna ostaje na mjestu, i nijedna naredba za izvoz neće proizvesti prenosivu kopiju. Upis putem upravljanja mobilnim uređajima često po dizajnu funkcionira upravo tako.
To je kontrola, a ne prepreka koju treba zaobići. Rekonstrukcija privatnog ključa iz javnog certifikata nije moguća, i svaki alat koji to tvrdi čini nešto drugo.
Upišite novi identitet umjesto kopiranja
Podržani put obično je da upišete zaseban identitet za novi uređaj i opozovete stari kada ode u mirovinu, tako da se svaki uređaj može povući neovisno. Gdje je izvoz s ključem doista odobren, tretirajte dobivenu datoteku i njezinu zaporku kao vjerodajnice: šifrirane u mirovanju, prenesene preko pouzdanog kanala i izbrisane kada upis završi.
Provjerite autentifikacijom s uvezenim identitetom, a ne gledanjem uspije li uvoz. Klijent koji prihvati javni certifikat u svoje spremište nije dokazao ništa o ključu.
Završite potvrdom da poslužitelj prihvaća novi identitet i da se stari i dalje ponaša kako pravilo predviđa. Time je pregled zaokružen dokazom, a ne datotekom koja izgleda ispravno.