Delen via


Problemen met wederzijdse verificatie oplossen in Application Gateway

Meer informatie over het oplossen van problemen met wederzijdse verificatie bij het gebruik van Application Gateway.

Overzicht

Na het configureren van wederzijdse verificatie op een Application Gateway kunnen er een aantal fouten optreden bij het gebruik van wederzijdse verificatie. Enkele veelvoorkomende oorzaken van fouten zijn:

  • Een certificaat of certificaatketen zonder basis-CA-certificaat geüpload
  • Een certificaatketen met meerdere basis-CA-certificaten geüpload
  • Een certificaatketen geüpload die alleen een leaf-certificaat bevatte zonder een CA-certificaat
  • Validatiefouten vanwege DN-verlener komen niet overeen

We doorlopen verschillende scenario's die u kunt tegenkomen en hoe u deze scenario's kunt oplossen. Vervolgens behandelen we foutcodes en leggen we mogelijke oorzaken uit voor bepaalde foutcodes die u mogelijk ziet met wederzijdse verificatie. Alle verificatiefouten met clientcertificaten moeten resulteren in een HTTP 400-foutcode.

Problemen met scenario's oplossen - configuratieproblemen

Er zijn enkele scenario's waarmee u mogelijk te maken hebt bij het configureren van wederzijdse verificatie. We gaan een aantal van de meest voorkomende valkuilen oplossen.

Zelfondertekend certificaat

Probleem

Het clientcertificaat dat u hebt geüpload, is een zelfondertekend certificaat en resulteert in de foutcode ApplicationGatewayTrustedClientCertificateDoesNotContainAnyCACertificate.

Oplossing

Controleer of het zelfondertekende certificaat dat u gebruikt, de extensie BasicConstraintsOid = "2.5.29.19" heeft die aangeeft dat het onderwerp kan fungeren als een CA. Dit zorgt ervoor dat het gebruikte certificaat een CA-certificaat is. Raadpleeg vertrouwde clientcertificaten voor meer informatie over het genereren van zelfondertekende clientcertificaten.

Problemen met scenario's oplossen - connectiviteitsproblemen

Mogelijk hebt u wederzijdse verificatie zonder problemen kunnen configureren, maar u ondervindt problemen bij het verzenden van aanvragen naar uw Application Gateway. In de volgende sectie worden enkele veelvoorkomende problemen en oplossingen opgelost. U vindt de eigenschap sslClientVerify in de toegangslogboeken van uw Application Gateway.

SslClientVerify is NONE

Probleem

De eigenschap sslClientVerify wordt weergegeven als 'NONE' in uw toegangslogboeken.

Oplossing

Dit wordt weergegeven wanneer de client geen clientcertificaat verzendt bij het verzenden van een aanvraag naar de Application Gateway. Dit kan gebeuren als de client die de aanvraag naar de Application Gateway niet correct is geconfigureerd voor het gebruik van clientcertificaten. Een manier om te controleren of de installatie van clientverificatie in Application Gateway werkt zoals verwacht, is via de volgende OpenSSL-opdracht:

openssl s_client -connect <hostname:port> -cert <path-to-certificate> -key <client-private-key-file> 

De -cert vlag is het leaf-certificaat, de vlag is het persoonlijke sleutelbestand van de -key client.

Raadpleeg de handmatige pagina voor meer informatie over het gebruik van de OpenSSL-opdracht.s_client

SslClientVerify is MISLUKT

Probleem

De eigenschap sslClientVerify wordt weergegeven als 'MISLUKT' in uw toegangslogboeken.

Oplossing

Er zijn een aantal mogelijke oorzaken voor fouten in de toegangslogboeken. Hieronder ziet u een lijst met veelvoorkomende oorzaken voor fouten:

  • Kan certificaat voor verlener niet ophalen: het certificaat van de uitgever van het clientcertificaat is niet gevonden. Dit betekent normaal gesproken dat de ca-certificaatketen van de vertrouwde client niet volledig is op de Application Gateway. Controleer of de certificaatketen van de vertrouwde client-CA die is geüpload op de Application Gateway is voltooid.
  • Kan geen lokaal certificaat voor verleners ophalen: het certificaat van de uitgever van het clientcertificaat kan niet worden gevonden. Dit betekent normaal gesproken dat de ca-certificaatketen van de vertrouwde client niet volledig is op de Application Gateway. Controleer of de certificaatketen van de vertrouwde client-CA die is geüpload op de Application Gateway is voltooid.
  • Kan het eerste certificaat niet verifiëren: kan het clientcertificaat niet verifiëren. Deze fout treedt met name op wanneer de client alleen het leaf-certificaat presenteert, waarvan de verlener niet wordt vertrouwd. Controleer of de certificaatketen van de vertrouwde client-CA die is geüpload op de Application Gateway is voltooid.
  • Kan de certificaatverlener van het clientcertificaat niet verifiëren: deze fout treedt op wanneer de configuratie VerifyClientCertIssuerDN is ingesteld op true. Dit gebeurt meestal wanneer de verlener-DN van het clientcertificaat niet overeenkomt met de ClientCertificateIssuerDN die is geëxtraheerd uit de certificaatketen van de vertrouwde client-CA die door de klant is geüpload. Voor meer informatie over hoe Application Gateway de ClientCertificateIssuerDN extraheert, bekijkt u Application Gateway die verlener-DN extraheert. Als best practice moet u ervoor zorgen dat u één certificaatketen per bestand uploadt naar Application Gateway.
  • Niet-ondersteund certificaatdoel: zorg ervoor dat het clientcertificaat uitgebreide sleutelgebruik aanwijst voor clientverificatie (1.3.6.1.5.5.7.3.2). Meer informatie over de definitie van uitgebreid sleutelgebruik en object-id voor clientverificatie vindt u in RFC 3280 en RFC 5280.

Zie Ca-certificaatketens voor vertrouwde clients extraheren voor meer informatie over het extraheren van de volledige ca-certificaatketen van vertrouwde clients om te uploaden naar Application Gateway.

Probleemoplossing voor foutcodes

Als u een van de volgende foutcodes ziet, hebben we een aantal aanbevolen oplossingen om het probleem op te lossen dat u mogelijk ondervindt.

Foutcode: ApplicationGatewayTrustedClientCertificateMustSpecifyData

Oorzaak

Er ontbreken certificaatgegevens. Het geüploade certificaat kan een leeg bestand zijn zonder certificaatgegevens.

Oplossing

Controleer of het geüploade certificaatbestand geen ontbrekende gegevens bevat.

Foutcode: ApplicationGatewayTrustedClientCertificateMustNotHavePrivateKey

Oorzaak

Er is een persoonlijke sleutel in de certificaatketen. Er mag geen persoonlijke sleutel in de certificaatketen zijn.

Oplossing

Controleer de certificaatketen die is geüpload en verwijder de persoonlijke sleutel die deel uitmaakt van de keten. Laad de keten opnieuw zonder de persoonlijke sleutel.

Foutcode: ApplicationGatewayTrustedClientCertificateInvalidData

Oorzaak

Er zijn twee mogelijke oorzaken achter deze foutcode.

  1. Het parseren is mislukt omdat de keten niet in de juiste indeling wordt weergegeven. Application Gateway verwacht dat een certificaatketen een PEM-indeling heeft en verwacht ook dat afzonderlijke certificaatgegevens worden gescheiden.
  2. De parser heeft niets gevonden om te parseren. Het geüploade bestand kan mogelijk alleen de scheidingstekens hebben, maar geen certificaatgegevens.

Oplossing

Afhankelijk van de oorzaak van deze fout zijn er twee mogelijke oplossingen.

  • Controleer of de geüploade certificaatketen de juiste indeling (PEM) heeft en of de certificaatgegevens juist zijn gescheiden.
  • Controleer of het certificaatbestand dat is geüpload, de certificaatgegevens bevat naast de scheidingstekens.

Foutcode: ApplicationGatewayTrustedClientCertificateDoesNotContainAnyCACertificate

Oorzaak

Het certificaat dat is geüpload, bevatte alleen een bladcertificaat zonder een CA-certificaat. Het uploaden van een certificaatketen met CA-certificaten en een leaf-certificaat is acceptabel omdat het bladcertificaat gewoon wordt genegeerd, maar een certificaat moet een CA hebben.

Oplossing

Controleer de certificaatketen die is geüpload meer dan alleen het leaf-certificaat. De BasicConstraintsOid = "2.5.29.19" extensie moet aanwezig zijn en aangeven dat het onderwerp kan fungeren als een CA.

Foutcode: ApplicationGatewayOnlyOneRootCAAllowedInTrustedClientCertificate

Oorzaak

De certificaatketen bevat meerdere basis-CA-certificaten of nul basis-CA-certificaten.

Oplossing

Certificaten die zijn geüpload, moeten precies één basis-CA-certificaat bevatten (en nochtans veel tussenliggende CA-certificaten indien nodig).