windows - Google Chrome brug certifikat til et websted

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg opretter en hjemmeside (med OpenResty, men jeg tror ikke, det er relevant), som kun accepterer HTTPS-forbindelser med klientcertifikatverifikation. Jeg fulgte http://www.integralist.co.uk/posts/clientcertauth.html for at generere min egen certificeringsmyndighed, en certifikat underskrivningsforespørgsel og en CRT. Jeg testede derefter, at min webserver korrekt accepterer denne CRT, når jeg går til en URL med python [2]


certName = "mycert"
cert = (certName + ".crt", certName + ".key")
response = requests.get(url, params=urlencode(payload), cert=cert, verify=False, stream=True)


Nu forsøger jeg at få adgang til den samme webadresse fra Google Chrome. Jeg brugte indstillinger -> HTTPS/SSL -> Administrer certifikater -> Import for at importere min CRT-fil. Men når jeg går til URL'en, får jeg altid 400 dårlig forespørgsel - der er ikke sendt noget påkrævet SSL-certifikat. Ved at se på nginx fejllog, bekræftede jeg, at 'klienten ikke sendte noget påkrævet SSL-certifikat'


Hvordan fortæller jeg Chrome om at bruge et certifikat til en bestemt webadresse?

Bedste reference


Der er flere ting, der skal løses her.



  1. Har du installeret CA-certifikatet i de tilsvarende CA-butikker?

  2. Du skal importere klientcertifikatet sammen med den private nøgle i den aktuelle brugerbutik. Filforlængelsen er .pfx . Du får i øjeblikket 400 fejlen, da browseren mener, at det ikke har nogen klientcertifikat at arbejde med.

  3. Du kan ikke angive krom for at bruge en bestemt certifikat til en bestemt webadresse.



Se denne blogpost om, hvordan TLS Mutual auth fungerer: https://blogs.msdn.microsoft.com/kaushal/2015/05/27/client-certificate-authentication-part-1/[3]