Certifikatbaserede VPN-logins beder Macen om noget snævrere end en adgangskode: brug denne bestemte private nøgle, i denne eksekveringskontekst, til at bevise en identitet over for den gateway. Når det mislykkes, beskriver meddelelsen normalt kun det sidste, der gik galt, og det er sjældent årsagen. At gennemgå de tre beslutninger i den rækkefølge, systemet træffer dem, holder diagnosen ærlig og forhindrer, at et lokalt tilladelsesproblem behandles som en fejl i kædevalideringen.

Gennemgå loginet i den rækkefølge, Macen bruger

Først vælger klienten en identitet: et certifikat parret med en brugbar privat nøgle, tilgængeligt via det understøttede lager eller legitimationsudbyderen. Derefter anmoder VPN-komponenten om at udføre en kryptografisk operation med den nøgle, og den lokale autorisationsmodel svarer. Først når begge lykkes, sker det eksterne håndtryk, hvor Macen vurderer gatewayen, og gatewayen vurderer klientens bevis.

DecisionTypical symptomWhere to look
Identity selectionNo valid identity, wrong certificate offeredProfile and which identity the client picked
Local key useSigning or interaction error before any handshakeExecution context and key access rules
Remote authenticationChain, name or client-admission rejectionGateway identity and what it accepts

Læs tabellen oppefra og ned, og stop ved den første række, der fejler. Alt under en fejl er ubevist, og derfor er “certifikatet er ikke betroet” så almindelig og så upålidelig en konklusion.

Hvad den lokale tilladelse faktisk dækker

I macOS-nøgleringmodellen bærer beskyttede elementer adgangsregler, der er specifikke for operationen, og en liste over betroede programmer. Signering med en privat nøgle er en af disse operationer, og reglerne gælder for den eksekverbare fil, der udfører den, ikke for certifikatet som dokument. Apples reference for adgangskontrol trækker også en grænse mellem denne model og iCloud-nøgleringen og adgangsgruppeordninger, så råd skrevet til den ene overføres ikke til den anden.

To konsekvenser følger. At et offentligt certifikat er synligt på en liste beviser ikke, at VPN'ens baggrundskomponent overhovedet kan nå den nøgle. Og en tilladelse givet til et frontend-program siger intet om en separat hjælper eller netværksudvidelse, fordi de er forskellig kode med forskellige identiteter.

Identificér den faktiske implementering og dens understøttede mekanisme til deling af legitimationsoplysninger i stedet for at kopiere en eksekverbar sti fra en gammel klient. Bekræft, hvilken identitet systemet overhovedet vil tilbyde:

security find-identity -v -p ssl-client

Læsning af koden errSecInteractionNotAllowed

Den status rapporterer om forbudt interaktion med Sikkerhedsserveren og siger intet om certifikatkæder. Læs den sammen med den operation, der frembragte den: en signeringsanmodning udstedt fra en kontekst, der ikke kan vise en prompt, vil fejle på denne måde, også når nøglen og certifikatet begge er helt gyldige. Det er operationen, der loggede den, ikke certifikatlageret, der er stedet at begynde. Enhver ændring af tillidsankre vil efterlade fejlen præcis, hvor den var.

Så behandl koden som en grund til at undersøge eksekveringskontekst og autorisation. At behandle den som bevis for, at gatewayens CA ikke er betroet, sender dig til den forkerte halvdel af problemet, og den ændring, du foretager der, vil slet ikke påvirke fejlen.

Reparér snævert, ikke bredt

Begynd med forbindelsesejerens tilmeldings- eller importinstruktioner. Notér klientversionen, profilens omfang, den valgte identitet og den første relevante lokale fejl, fordi disse fire fakta er det, en supportoverdragelse har brug for, og det, en senere sammenligning afhænger af. En administreret profil eller en hardwareunderstøttet identitet kan kræve, at administratoren eller udbyderen reparerer overdragelsen, og ingen mængde lokal klikken erstatter det.

Hvor produktet forventer en brugergodkendelse, skal du bekræfte, hvilken komponent der spørger, og kun godkende den adgang via det understøttede flow. Hvor komponenten ikke har nogen måde at rejse en prompt i den kontekst, den kører i, skal klargøringen følge den vej, leverandøren dokumenterer, ikke en dialog, der lokkes ud af et andet terminalvindue.

I ældre råd pakkes to ændringer sammen, og begge er for brede. At give hvert program adgang til den private nøgle udvider den lokale nøglebrug langt ud over kravet, og at sætte certifikatet til Altid betroet ændrer certifikatevalueringen for alt på maskinen. Ingen af dem udtrykker “denne godkendte VPN-implementering med denne tilsigtede identitet”.

Kontrollér lokalt, før du læser gatewayen

Efter en reparation skal du bekræfte, at den lokale operation lykkes, før du fortolker noget svar fra den anden side. Hvis signeringen nu virker, er en efterfølgende afvisning af navn, kæde eller klientadgang et nyt resultat og ikke en gentagelse, og den hører til en anden beslutning med en anden ejer.

En nyttig overdragelse nævner, hvilken af de tre beslutninger der fejlede, og stopper der. Den indeholder aldrig den private nøgle, og den nulstiller aldrig urelaterede nøgleringselementer i håb om, at en ren tavle hjælper. Anlæg de to vaner før hændelsen frem for under den, hvor fristelsen til at prøve alt på én gang er stærkest. En sag, der siger “vi genopbyggede nøgleringen”, fortæller den næste læser næsten intet om den oprindelige fejl.

Relaterede artikler