Hvilket maskincertifikat tilbyder Windows-VPN'en?
Flere maskincertifikater, ét tilbydes, og gatewayen afviser det. Indsnævr puljen med udsteder- og EKU-filtrene i stedet for at slette noget.
Certifikaterne er installeret, de private nøgler er til stede, og tunnelen fejler stadig godkendelse. En maskine med flere certifikater kan give VPN'en en kandidat, som ingen havde tænkt på, og klienten har ingen måde at vide, hvilken gatewayen ville acceptere. At slette de andre er en udvælgelsespolitik med konsekvenser for hver tjeneste på maskinen. Indsnævr i stedet det gyldige sæt, og bekræft derefter, hvilket certifikat der faktisk blev tilbudt.
Flere certifikater, ét tilbudt
Indbyggede Windows VPN-profiler med maskincertifikatgodkendelse giver to filtre, der begrænser kandidaterne: et udstederfilter og et filter for udvidet nøglebrug. De reducerer det sæt, som klienten kan vælge fra. De reparerer ikke et uegnet certifikat, og de garanterer ikke, at serveren accepterer det, der er tilbage. Den grænse er værd at nedfælde i ændringsloggen, for den næste læser vil antage, at filtret besluttede mere, end det gjorde.
Den fejl, de adresserer, er snæver og konkret. Et gyldigt certifikat fra en forkert myndighed eller et, der er udstedt til et formål, gatewayen ikke accepterer, bliver valgt foran det tilsigtede, hvilket giver en godkendelsesfejl ved siden af et sundt lager. To filtre gør det til et sæt, der er lille nok til at ræsonnere om, og resten af denne side anvender dem i rækkefølge.
Undersøg lageret, før du redigerer profilen
List kandidaterne og deres egenskaber i det lager, profilen faktisk bruger. Intet her eksporterer en privat nøgle, og intet certifikat behøver at forlade maskinen:
Get-VpnConnection -Name 'Office' | Select-Object Name, TunnelType, AuthenticationMethod
Get-ChildItem Cert:\LocalMachine\My | Select-Object Subject, Issuer, Thumbprint, NotAfter, HasPrivateKey, EnhancedKeyUsageList
Læs outputtet for de egenskaber, beslutningen afhænger af: en brugbar privat nøgle, et acceptabelt gyldighedsvindue, den tilsigtede udsteder og formålene i udvidelsen. Et certifikat kan være til stede, korrekt registreret og ubrugeligt for denne forbindelse på samme tid. Fingeraftrykskolonnen er den, du senere sammenligner med, så gem outputtet.
Bekræft profilen og dens omfang, før du redigerer, fordi et maskincertifikat i LocalMachine, et bruger-EAP-TLS-certifikat og en applikations eget lager for private nøgler er tre forskellige kontekster. Brug omfanget for alle brugere og en administrativ kontekst, når den administrerede profil ligger der. At oprette en anden profil med et lignende navn skjuler, hvilken konfiguration forbindelsen faktisk bruger.
Udstederfiltret vil have et objekt
Udstederparameteren forventer et certifikatobjekt, ikke et visningsnavn og ikke en bar fingeraftryksstreng. Angiv den godkendte myndigheds certifikat fra en sti, du har gennemgået, i det lager, hvor det hører hjemme:
$issuerPath = Read-Host 'Certificate-provider path for the approved issuer CA'
$issuer = Get-Item -LiteralPath $issuerPath
Set-VpnConnection -Name 'Office' -MachineCertificateIssuerFilter $issuer
Erstat ikke klientens eget bladcertifikat, en anden myndighed med et lignende emne eller en nygenereret rod, blot fordi parameterens type accepterer det. To myndigheder kan dele en emnestreng, og derfor betyder objektet mere end teksten. Microsofts cmdlet-reference dokumenterer begge inputtyper, og den er værd at læse før den første redigering frem for efter det mislykkede forsøg.
Brugsfiltret vil have en OID-streng
Parameteren for udvidet nøglebrug tager OID-strenge, og formålet med klientgodkendelse er 1.3.6.1.5.5.7.3.2. Anvendes det, begrænses kandidaterne til certifikater, der bærer dette formål, hvilket er præcis det, en udrulning med klientgodkendelse ønsker:
Set-VpnConnection -Name 'Office' -MachineCertificateEKUFilter '1.3.6.1.5.5.7.3.2'
Værdien er et array, så en udrulning, der har brug for flere formål, sender dem som en liste. Det, filtret ikke kan, er at føje et formål til et certifikat: det er et udvælgelsesudtryk, der evalueres mod signerede udvidelser, og intet filter omskriver dem, så et certifikat, der mangler formålet, skal gennem registreringen igen.
Hold EAP-konfiguration for brugercertifikater adskilt fra filtrering af maskincertifikater, fordi de lever forskellige steder, og en ændring i det ene forklarer sjældent en fejl i det andet. Kontroller også, om domænet eller enhedsstyringen ejer profilen, fordi en lokal ændring kan blive erstattet ved næste politikopdatering, uden at nogen rører maskinen.
Bevis, hvilket certifikat klienten tilbød
Opret en ny forbindelse, og læs klientens og serverens godkendelsesbevis for den identitet, du tilsigtede. Når mere end ét certifikat opfylder filtrene, er resultatet en mindre pulje frem for et fastgjort blad, så det næste forsøg kan vælge et andet medlem. Notér det fingeraftryk, der optræder i beviset, og sammenlign det med det, du registrerede fra lageret.
En vellykket kommando er ikke en vellykket godkendelse. Det resultat, der er værd at registrere, er, at det tilsigtede certifikat godkender under den administrerede politik, mens hvert uvedkommende certifikat forbliver tilgængeligt for de tjenester, der afhænger af det. Hvis fejlen overlever begge filtre, er de resterende kandidater det næste sted at kigge, ikke hele profilen.