Od sgcWebSockets 4.4.7 obsługiwane jest używanie certyfikatów z SChannel jako biblioteką kryptograficzną.
Implementacja SChannel obsługuje 2 typy uwierzytelniania certyfikatów:
1. Użycie certyfikatu PFX
2. Ustawienie skrótu Thumbprint już zainstalowanego certyfikatu w systemie Windows.
PFX Certificate
Certyfikat PFX to plik zawierający certyfikat i klucz prywatny. Jeśli masz certyfikat w formacie PEM, musisz go najpierw przekonwertować do formatu PFX.
Użyj następującego polecenia openssl, aby przekonwertować certyfikat PEM do formatu PFX
openssl pkcs12 -inkey certificate-pem.key -in certificate-pem.crt -export -out certificate.pfx
Gdy certyfikat jest w formacie PFX, wystarczy wdrożyć certyfikat i ustawić ścieżkę do niego we właściwości TLSOptions.Certificate.
TLSOptions.IOHandler := iohSChannel; TLSOptions.CertFile := '<certificate path>'; TLSOptions.Password := '<certificate optional password>';
Hash Thumbprint
Jeśli certyfikat jest już zainstalowany w magazynie certyfikatów 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 to wartość szesnastkowa Thumbprint.
Directory: Microsoft.PowerShell.Security\Certificate::localmachine\myThumbprint Subject---------- -------C12A8FC8AE668F866B48F23E753C93D357E9BE10 CN=*.mydomain.com
Gdy masz wartość Thumbprint, musisz ustawić we właściwości TLSOptions.SChannel_Options skrót i lokalizację certyfikatu.
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>';
