Jeśli serwer wymaga, aby klient łączył się przy użyciu certyfikatu SSL, należy użyć właściwości TLSOptions komponentu TsgcWebSocketClient do ustawienia plików certyfikatu.
Połączenie przez SChannel wymaga ustawienia TLSOptions.IOHandler = iohSChannel.
SChannel obsługuje 2 rodzaje uwierzytelniania certyfikatami:
1. Używanie certyfikatu PFX
2. Ustawienie skrótu certyfikatu dla certyfikatu już zainstalowanego w systemie Windows.
Certyfikat PFX to plik zawierający certyfikat i klucz prywatny. Jeśli certyfikat jest w formacie PEM, przed użyciem należy go przekonwertować na format PFX.
Użyj poniższego polecenia openssl, aby przekonwertować certyfikat PEM na format PFX
openssl pkcs12 -inkey certificate-pem.key -in certificate-pem.crt -export -out certificate.pfx
Po przekonwertowaniu certyfikatu do formatu PFX wystarczy wdrożyć certyfikat i ustawić właściwość TLSOptions.CertFile na jego ścieżkę.
TLSOptions.IOHandler = iohSChannel
TLSOptions.CertFile = <certificate path>
TLSOptions.Password = <certificate optional password>
Jeśli certyfikat jest już zainstalowany w magazynie certyfikatów systemu Windows, wystarczy znać odcisk palca certyfikatu i ustawić go we właściwości TLSOptions.SChannel_Options.
Znalezienie skrótu certyfikatu w PowerShell jest tak proste, jak uruchomienie polecenia dir na kontenerze certyfikatów.
dir cert:\localmachine\my
Skrót jest szesnastkową wartością Thumbprint.
Directory: Microsoft.PowerShell.Security\Certificate::localmachine\my
Thumbprint Subject
---------- -------
C12A8FC8AE668F866B48F23E753C93D357E9BE10 CN=*.mydomain.com
Po uzyskaniu wartości Thumbprint należy ustawić hash oraz lokalizację certyfikatu we właściwości TLSOptions.SChannel_Options.
TLSOptions.IOHandler = iohSChannel
TLSOptions.SChannel_Options.CertHash = <certificate thumbprint>
TLSOptions.SChannel_Options.CertStoreName = <certificate store name>
TLSOptions.SChannel_Options.CertStorePath = <certificate store path>
TLSOptions.Password = <certificate optional password>