Certificat VPN pentru Mac: de ce selectorul de identitate rămâne gol
Clientul are nevoie de un certificat împreună cu cheia sa privată, într-un depozit pe care îl citește. Verifică mai întâi identitatea, apoi dacă poarta de acces o acceptă.
Ai instalat certificatul, acesta apare în Acces la chei cu un nume prietenos, iar selectorul de identitate al clientului VPN rămâne gol. Clientul nu caută un certificat. Caută o identitate: un certificat asociat cu cheia privată care poate dovedi deținerea, stocat acolo unde clientul are voie să îl citească.
Ceea ce cere clientul este o identitate
Cadrul de securitate al Apple tratează certificatul și identitatea ca obiecte diferite. Un certificat este un dat public. O identitate este acel certificat împreună cu cheia sa privată, iar numai identitatea poate finaliza o provocare. Un certificat de CA de încredere, în schimb, permite unui client să evalueze un emitent; nu face din mașină deținătorul unei acreditări de client emise.
| Item | What it can do | What it cannot do |
|---|---|---|
| CA or server certificate | Validate the gateway's chain | Authenticate this client |
| Client certificate without key | Nothing for authentication | Prove possession of anything |
| Identity (cert plus key) | Answer the authentication challenge | Guarantee the gateway accepts it |
De aceea, importarea unui fișier .cer nu produce niciodată o identitate de client utilizabilă. Fișierul conține doar material public, iar oricât l-ai redenumi sau l-ai declara de încredere, nu îl transformă într-o pereche de chei.
Trei motive pentru care selectorul rămâne gol
Primul este o cheie privată lipsă, ceea ce înseamnă că procesul de înrolare sau de import nu a livrat una. Al doilea este un depozit pe care clientul nu îl consultă: un profil cu sferă de utilizator caută în brelocul utilizatorului, iar un element plasat într-un depozit de sistem poate fi invizibil pentru el. Al treilea este o nepotrivire de scop sau de politică, în care certificatul există, dar nu este valid pentru autentificarea clienților conform regulilor implementării.
security find-identity -v -p ssl-client
Aceasta listează identitățile pe care sistemul le consideră valide pentru autentificarea clienților. Dacă numărul este zero, problema este în amonte de clientul VPN și nicio modificare a profilului nu o va rezolva. Dacă identitatea apare aici, dar nu în client, diferența este în depozitul sau în sfera clientului.
Unde se află cheia privată și cine o poate folosi
Când imporți o identitate prin Acces la chei, dialogul de import oferă un breloc de destinație. Care destinație este corectă depinde de client și de faptul dacă profilul are sferă de utilizator sau de dispozitiv. Un răspuns vechi care recomandă brelocul de sistem nu este o regulă universală, iar copierea elementelor între depozite nu este o reparație.
System Roots este o colecție de încredere. Plasarea unui certificat acolo schimbă emitenții în care sistemul are încredere; nu creează o cheie privată și nu este un depozit de identități. Mutarea certificatelor nelegate între ele pentru a umple un selector este genul de remediere care lasă o mașină cu un set de încredere extins permanent.
Accesul la cheia privată este un control separat. A acorda fiecărei aplicații permisiunea de a folosi cheia rezolvă problema de selecție a unui client și transmite aceeași capacitate tuturor celorlalte de pe mașină. Acordă-l clientului care are nevoie de el și verifică dacă cheia este protejată hardware sau marcată ca neexportabilă; dacă da, trebuie folosit furnizorul acceptat, nu o copie exportată.
Cum indică profilul acreditarea
Într-o configurație IKEv2 nativă administrată, profilul își referă payload-ul de acreditare prin PayloadCertificateUUID. Contează identitatea la care se face referire și modul în care a fost furnizată; editarea unui nume afișat în profil nu repară o referință care indică payload-ul greșit sau unul care nu a livrat niciodată o cheie.
Un furnizor terț poate folosi un mecanism de selecție complet diferit, cum ar fi propriul depozit sau o solicitare de sistem. Citește documentația acelui furnizor în loc să transferi presupuneri despre profilurile native și verifică referința din profilul care este efectiv instalat, nu din cel aflat în schița consolei de administrare.
Selecția și acceptarea sunt repere separate
Un selector populat înseamnă că clientul poate găsi și folosi o identitate. Nu spune nimic despre dacă poarta de acces o va accepta. Serverul verifică în continuare emitentul, fereastra de valabilitate, starea de revocare și maparea acelei acreditări către un cont.
Testează ambele etape în mod explicit, în această ordine. Confirmă că identitatea este oferită, conectează-te și apoi cere proprietarului porții de acces să confirme ce acreditare a fost prezentată și ce regulă de mapare a consumat-o. Dacă clientul oferă o identitate, iar serverul o respinge, munca rămasă este de partea serverului. Reinstalarea certificatului pe Mac nu va schimba acel rezultat, oricât de multe ori ar fi repetată.