Es hängt davon ab, ob. X.509v3-Zertifikate enthalten normalerweise ein Erweiterungsfeld "Extended Key Usage", das eine Liste der zulässigen Verwendungen (EKUs) enthält.
Normale Webserverzertifikate enthalten die Verwendung der "TLS- Serverauthentifizierung " (manchmal als "TLS-Webserver" bezeichnet, ist aber in Wirklichkeit nicht webspezifisch).
Um als Client zu fungieren, benötigen Sie ein Zertifikat mit "TLS-Client-Authentifizierung" (wird häufig als "TLS-Webclient" angezeigt, obwohl es nichts Webspezifisches enthält).
Es ist üblich, dass reguläre SSL-Zertifikate für "Webserver" beide Verwendungen enthalten. Ich betrachte zum Beispiel Zertifikate, die von Let's Encrypt und DigiCert ausgestellt wurden, und alle enthalten beide Verwendungen. Sie können daher für die Client- / gegenseitige Authentifizierung verwendet werden .
Es ist jedoch möglich, dass in einigen anderen Zertifizierungsstellen, insbesondere in privaten Organisationszertifizierungsstellen, die meisten Zertifikate die eine oder andere Verwendung haben, jedoch selten beides.
Beispielsweise forderte OpenVPN normalerweise " nur TLS-Client" (und nicht " mindestens TLS-Client" wie andere Programme). Daher gibt das easy-rsa
Skript nur Serverzertifikate und nur Clientzertifikate aus, jedoch nicht die gemischte Art.
Daher sollten Sie Ihre Zertifikate prüfen und sicherstellen, dass sie die erforderliche EKU enthalten. Praktisch wird jedes Zertifikat - Tool die Arbeit erledigen - zum Beispiel der Zertifikateigenschaften zeigen in Windows - Dialog diese unter „V3 Extensions“, ebenso wie Web - Browser, openssl x509
, certtool
, certutil
etc.
Denken Sie auch daran, wenn Sie Ihre eigene interne Zertifizierungsstelle betreiben: Wenn Sie ein Zwischenzertifizierungsstellenzertifikat verwenden, achten Sie auch darauf. Zwischenprodukte müssen nicht über eine EKU-Erweiterung verfügen. Wenn dies jedoch der Fall ist, sind alle von diesem Zwischenprodukt ausgestellten Zertifikate davon abhängig. (Wenn Sie die Zertifikate im Handel erwerben, müssen Sie sich nicht darum kümmern.)
Darüber hinaus enthält das Zertifikat ein grundlegendes Feld "Schlüsselverwendung", das einige sehr allgemeine Einschränkungen enthält: zB "Digitale Signatur" bedeutet, dass das Zertifikat Daten signieren darf (und daher EDH / EECDH-Handshake in TLS erlaubt). "Schlüsselvereinbarung" scheint für statische DH / ECDH zu gelten; "Schlüsselverschlüsselung" ermöglicht statische RSA-Handshakes.
Die offizielle X.509v3-Dokumentation ist sehr verwirrend in Bezug auf die Verwendungszwecke, wenn ... Professionelle Zertifizierungsstellen dieses Feld normalerweise verwenden. Für private Zertifizierungsstellen lohnt es sich jedoch, dies zu überprüfen.