Händelser
29 apr. 14 - 30 apr. 19
Delta i det ultimata virtuella Windows Server-evenemanget 29-30 april för djupgående tekniska sessioner och live-Q&A med Microsoft-tekniker.
Registrera dig nuDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
I den här artikeln beskrivs hur du aktiverar autentisering av användarcertifikat i Active Directory Federation Services (AD FS). Den innehåller även felsökningsinformation för vanliga problem med den här typen av autentisering.
Det finns två huvudsakliga användningsfall för autentisering av användarcertifikat:
certauth.fs.contoso.com
. Se också till att trafik till det här värdnamnet tillåts via brandväggen.Anteckning
AD FS stöder inte uppmaningar om användarnamn med smartkort eller certifikatbaserad autentisering.
Aktivera autentisering av användarcertifikat som en autentiseringsmetod för intranät eller extranät i AD FS med hjälp av antingen AD FS-hanteringskonsolen eller PowerShell-cmdleten Set-AdfsGlobalAuthenticationPolicy
.
Valfria överväganden är:
Om du vill använda anspråk baserat på certifikatfält och tillägg utöver EKU-anspråkstypen https://schemas.microsoft.com/2012/12/certificatecontext/extension/eku
konfigurerar du fler regler för genomströmning av anspråk i Active Directory-anspråksproviderns förtroende. Se den fullständiga listan över tillgängliga anspråk på certifikat senare i den här artikeln.
Om du behöver begränsa åtkomsten baserat på typen av certifikat kan du använda de ytterligare egenskaperna för certifikatet i AD FS-utfärdandeauktoriseringsregler för programmet. Vanliga scenarier är att endast tillåta certifikat som etablerats av en MDM-provider (hantering av mobila enheter) eller att endast tillåta smartkortcertifikat.
Viktigt
Kunder som använder enhetskodflöde för autentisering och utför enhetsautentisering med hjälp av en annan identitetsprovider än Microsoft Entra-ID (till exempel AD FS) kan inte framtvinga enhetsbaserad åtkomst för Microsoft Entra-resurser. De kan till exempel inte bara tillåta hanterade enheter med hjälp av en MDM-tjänst från tredje part.
Konfigurera Microsoft Entra-enhetsbaserad villkorlig åtkomst för att skydda åtkomsten till företagsresurser i Microsoft Entra-ID och förhindra dataläckage. Använd till exempel Kräv att enheten markeras som klagomål för att bevilja kontroll i Villkorsstyrd åtkomst i Microsoft Entra.
Konfigurera tillåtna utfärdare av certifikat för klientcertifikat med hjälp av vägledningen under "Hantering av betrodda utfärdare för klientautentisering" i Schannel SSP teknisk översikt.
Överväg att ändra inloggningssidor så att de passar användarnas behov när de utför certifikatautentisering. Ett vanligt fall är att ändra Logga in med ditt X509-certifikat till något mer användarvänligt.
När en dator har flera användarcertifikat (till exempel Wi-Fi certifikat) som uppfyller klientautentiseringssyften uppmanas användarna att välja rätt certifikat i Webbläsaren Chrome på Windows-skrivbord. Den här uppmaningen kan vara förvirrande för användarna. För att optimera den här upplevelsen kan du ange en princip för Chrome för att automatiskt välja rätt certifikat.
Du kan ange den här principen manuellt genom att göra en registerändring, eller så kan du konfigurera den automatiskt via grupprincipobjektet (för att ange registernycklarna). Detta kräver att dina användarklientcertifikat för autentisering mot AD FS har distinkta utfärdare från andra användningsfall.
Mer information om hur du konfigurerar certifikatautentisering för Chrome finns i Chrome Enterprise-principlista.
Använd följande information för att felsöka vanliga problem när du har konfigurerat AD FS för certifikatautentisering för användare.
Om betrodda certifikatutfärdare inte är korrekt konfigurerade är ett vanligt symptom ett HTTP 204-fel: "Inget innehåll från https://certauth.adfs.contoso.com."
AD FS använder det underliggande Windows-operativsystemet för att bevisa innehav av användarcertifikatet och se till att det matchar en betrodd utfärdare genom att validera certifikatförtroendekedjan. För att matcha den betrodda utfärdaren måste du se till att alla rot- och mellanliggande certifikatutfärdare är konfigurerade som betrodda utfärdare i den lokala lagringen för datorcertifikatutfärdare.
Om du vill verifiera detta automatiskt använder du verktyget AD FS Diagnostics Analyzer. Verktyget förfrågar alla servrar och säkerställer att rätt certifikat etableras korrekt.
AD FS utför autentisering av användarcertifikat som standard på port 49443 med samma värdnamn som AD FS (exempel: adfs.contoso.com
). Du kan också konfigurera AD FS att använda port 443 (https-standardporten) med hjälp av den alternativa SSL-bindningen. Url:en som används i den här konfigurationen är dock certauth.<adfs-farm-name>
(exempel: certauth.contoso.com
). Mer information finns i AD FS-stöd för alternativ värdnamnsbindning för certifikatautentisering.
Anteckning
I AD FS på Windows Server 2016 stöds nu två lägen. I det första läget används värden adfs.contoso.com
med portarna 443 och 49443. Det andra läget använder värdar adfs.contoso.com
och certauth.adfs.contoso.com
med port 443. Du behöver ett SSL-certifikat för att stödja certauth.\<adfs-service-name>
som ett alternativt ämnesnamn. Du kan göra detta när farmen skapas eller senare via PowerShell.
Det vanligaste fallet med problem med nätverksanslutningen är att en brandvägg har konfigurerats felaktigt och blockerar trafik för autentisering med användarcertifikat. Vanligtvis visas en tom skärm eller ett 500-serverfel när det här problemet uppstår. Så här åtgärdar du det:
hostname:port
för din AD FS-servergrupp. Nätverksteknikern måste utföra det här steget.Listor över återkallade certifikat (CRL:er) är endpoints som är inbäddade i användarcertifikatet för att genomföra kontroll av återkallning vid körning. Om en enhet som innehåller ett certifikat till exempel blir stulen kan en administratör lägga till certifikatet i listan över återkallade certifikat. Alla slutpunkter som accepterade det här certifikatet tidigare misslyckas nu med autentiseringen.
Varje AD FS- och WAP-server måste nå CRL-slutpunkten för att verifiera om certifikatet som visades för den fortfarande är giltigt och inte har återkallats. CRL-validering kan ske via HTTPS, HTTP, LDAP eller OCSP. Om AD FS- och WAP-servrar inte kan nå slutpunkten misslyckas autentiseringen. Använd följande steg för att felsöka det:
<Result value="80092013">The revocation function was unable to check revocation because the revocation server was offline.</Result>
.Dricks
Du kan fokusera på en enskild AD FS- eller WAP-server för enklare felsökning genom att konfigurera DNS-upplösning (i värdfilen på Windows) så att den pekar på en specifik server. Med den här tekniken kan du aktivera spårning genom att rikta in dig på en server.
AD FS kräver klientenheter (eller webbläsare) och lastbalanserarna för att stödja SNI (Server Name Indication). Vissa klientenheter (till exempel äldre versioner av Android) kanske inte stöder SNI. Dessutom kanske lastbalanserare inte stöder SNI eller kanske inte har konfigurerats för SNI. I dessa fall kommer du förmodligen att få fel i användarcertifieringen.
Du kan åtgärda problemet genom att samarbeta med nätverksteknikern för att säkerställa att lastbalanseraren för AD FS och WAP stöder SNI. Om SNI inte kan stödjas använder du följande lösning i AD FS:
Netsh http show sslcert
.netsh http add sslcert ipport=0.0.0.0:{your_certauth_port} certhash={your_certhash} appid={your_applicationGUID}
.Du kanske märker att vissa enheter fungerar korrekt, men andra enheter fungerar inte. I de flesta fall innebär det att användarcertifikatet inte har etablerats korrekt på vissa klientenheter. Följ dessa steg:
Om problemet är specifikt för en Android-enhet är den vanligaste orsaken att certifikatkedjan inte är helt betrodd på enheten. Kontakta din MDM-leverantör för att säkerställa att certifikatet har tillhandahållits korrekt och att hela kedjan är fullt betrodd på Android-enheten.
Om problemet är specifikt för en Windows-enhet kontrollerar du om certifikatet har etablerats korrekt genom att kontrollera Windows-certifikatarkivet för den inloggade användaren (inte system eller dator).
Exportera klientanvändarcertifikatet till en .cer-fil och kör kommandot certutil -f -urlfetch -verify certificatefilename.cer
.
I sällsynta fall uppdateras en klientenhet för att endast stödja en högre version av TLS (till exempel 1.3). Eller så kan du ha det omvända problemet, där AD FS- och WAP-servrar uppdaterades för att endast använda en högre TLS-version som klientenheten inte stöder.
Du kan använda online-SSL-verktyg för att kontrollera dina AD FS- och WAP-servrar och se om de är kompatibla med enheten. Mer information om hur du styr TLS-versionerna finns i Hantera SSL/TLS-protokoll och chiffersviter för AD FS.
Många Office 365-program skickar prompt=login
till Microsoft Entra-ID. Microsoft Entra-ID konverterar som standard det till en ny lösenordsinloggning till AD FS. Det innebär att även om du har konfigurerat certifikatautentisering i AD FS ser användarna bara en lösenordsinloggning. Så här åtgärdar du problemet:
Get-MgDomainFederationConfiguration
.PromptLoginBehavior
är inställd på antingen Disabled
eller NativeSupport
.Mer information finns i AD FS prompt=login parameter support.
Om crl-listorna är mycket långa kan de i ett sällsynt fall nå en tidsgräns när de försöker ladda ner. I det här fallet måste du uppdatera MaxFieldLength
och MaxRequestByte
enligt beskrivningen i Http.sys registerinställningar för Windows.
Anspråkstyp | Exempelvärde |
---|---|
http://schemas.microsoft.com/2012/12/certificatecontext/field/x509version |
3 |
http://schemas.microsoft.com/2012/12/certificatecontext/field/signaturealgorithm |
sha256RSA |
http://schemas.microsoft.com/2012/12/certificatecontext/field/issuer |
CN=entca, DC=domain, DC=contoso, DC=com |
http://schemas.microsoft.com/2012/12/certificatecontext/field/issuername |
CN=entca, DC=domain, DC=contoso, DC=com |
http://schemas.microsoft.com/2012/12/certificatecontext/field/notbefore |
12/05/2016 20:50:18 |
http://schemas.microsoft.com/2012/12/certificatecontext/field/notafter |
12/05/2017 20:50:1 8 |
http://schemas.microsoft.com/2012/12/certificatecontext/field/subject |
E=user@contoso.com, CN=user, CN=Users, DC=domain, DC=contoso, DC=com |
http://schemas.microsoft.com/2012/12/certificatecontext/field/subjectname |
E=user@contoso.com, CN=user, CN=Users, DC=domain, DC=contoso, DC=com |
http://schemas.microsoft.com/2012/12/certificatecontext/field/rawdata |
{Base64 encoded digital certificate data} |
http://schemas.microsoft.com/2012/12/certificatecontext/extension/keyusage |
DigitalSignature |
http://schemas.microsoft.com/2012/12/certificatecontext/extension/keyusage |
KeyEncipherment |
http://schemas.microsoft.com/2012/12/certificatecontext/extension/subjectkeyidentifier |
9D11941EC06FACCCCB1B116B56AA97F3987D620A |
http://schemas.microsoft.com/2012/12/certificatecontext/extension/authoritykeyidentifier |
KeyID=d6 13 e3 6b bc e5 d8 15 52 0a fd 36 6a d5 0b 51 f3 0b 25 7f |
http://schemas.microsoft.com/2012/12/certificatecontext/extension/certificatetemplatename |
User |
http://schemas.microsoft.com/2012/12/certificatecontext/extension/san |
Other Name:Principal Name=user@contoso.com, RFC822 Name=user@contoso.com |
http://schemas.microsoft.com/2012/12/certificatecontext/extension/eku |
1.3.6.1.4.1.311.10.3.4 |
Händelser
29 apr. 14 - 30 apr. 19
Delta i det ultimata virtuella Windows Server-evenemanget 29-30 april för djupgående tekniska sessioner och live-Q&A med Microsoft-tekniker.
Registrera dig nu