SChannel-Zertifikate

· Funktionen

Ab sgcWebSockets 4.4.7 wird die Verwendung von Zertifikaten mit SChannel als Krypto-Bibliothek unterstützt.

Die SChannel-Implementierung unterstützt 2 Arten der Zertifikat-Authentifizierung:

1. Über ein PFX-Zertifikat

2. Setzen des Hash-Thumbprints eines bereits im Windows-System installierten Zertifikats.

PFX-Zertifikat 

Ein PFX-Zertifikat ist eine Datei, die das Zertifikat und den privaten Schlüssel enthält. Wenn dein Zertifikat im PEM-Format vorliegt, musst du es zuerst in PFX umwandeln.

Verwende den folgenden openssl-Befehl, um ein PEM-Zertifikat nach PFX zu konvertieren:

openssl pkcs12 -inkey certificate-pem.key -in certificate-pem.crt -export -out certificate.pfx

Sobald das Zertifikat im PFX-Format vorliegt, deploye es und setze in der Property TLSOptions.Certificate den Pfad dazu.

 

TLSOptions.IOHandler := iohSChannel;
TLSOptions.CertFile := '<Zertifikatspfad>';
TLSOptions.Password := '<optionales Zertifikatspasswort>'; 

Hash-Thumbprint

Wenn das Zertifikat bereits im Windows-Zertifikatsspeicher installiert ist, brauchst du nur den Zertifikats-Thumbprint und setzt ihn in der Property TLSOptions.SChannel_Options.

In der PowerShell findest du den Hash eines Zertifikats einfach mit einem dir-Befehl auf den Zertifikatscontainer.

dir cert:\localmachine\my

Der Hash ist der hexadezimale Thumbprint-Wert.

Directory: Microsoft.PowerShell.Security\Certificate::localmachine\my
Thumbprint Subject
---------- -------
C12A8FC8AE668F866B48F23E753C93D357E9BE10 CN=*.mydomain.com

Mit dem Thumbprint-Wert setzt du in der Property TLSOptions.SChannel_Options den Hash und den Speicherort des Zertifikats.

TLSOptions.IOHandler := iohSChannel;
TLSOptions.SChannel_Options.CertHash := '<Zertifikats-Thumbprint>';
TLSOptions.SChannel_Options.CertStoreName := '<Zertifikatsspeichername>';
TLSOptions.SChannel_Options.CertStorePath := '<Zertifikatsspeicherpfad>';
TLSOptions.Password := '<optionales Zertifikatspasswort>';