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\myThumbprint 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>';
