Serwer można skonfigurować do używania certyfikatów SSL. Aby uzyskać serwer produkcyjny z certyfikatem serwera, należy zakupić certyfikat od renomowanego dostawcy: Namecheap, GoDaddy, Thawte itp. Do celów testowych można użyć certyfikatu z własnym podpisem (patrz przykład Demos/Chat, który używa certyfikatu z własnym podpisem). Przeczytaj następujący artykuł: Jak utworzyć certyfikat z własnym podpisem.
Po uzyskaniu certyfikatu należy skonfigurować serwer, aby określić, który certyfikat ma być używany do szyfrowania połączeń.
Najpierw należy poznać skrót certyfikatu. Znalezienie skrótu certyfikatu jest tak proste w powershell, 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ć ją we właściwości TsgcWebSocketServer_HTTPAPI.TLSOptions.Hash.
Po ustawieniu skrótu wystarczy ustawić TsgcWebSocketServer_HTTPAPI.SSL = true, a serwer jest gotowy do uruchomienia.
Aby ręcznie zarejestrować certyfikat za pomocą netsh, należy użyć następującego polecenia:
netsh http add sslcert ipport=<IP>:<PORT> certhash=<THUMBPRINT> appid="{<GUID>}"
<IP>: Określa lokalny adres IP powiązania. Nie należy używać powiązania z symbolem wieloznacznym. Należy użyć prawidłowego adresu IP.
<PORT>: Określa port powiązania.
<THUMBPRINT>: Odcisk palca certyfikatu X.509.
<GUID>: Wygenerowany przez programistę identyfikator GUID reprezentujący aplikację w celach informacyjnych.