O servidor pode ser configurado para usar certificados SSL. Para obter um servidor de produção com um certificado de servidor, você deve adquirir um certificado de um provedor conhecido: Namecheap, GoDaddy, Thawte, etc. Para fins de teste, você pode usar um certificado autoassinado (confira o exemplo Demos/Chat, que usa um certificado autoassinado). Leia o seguinte artigo Como criar um certificado autoassinado.
Depois de ter seu certificado, você deve configurar o servidor para especificar qual certificado usar para criptografar as conexões.
Primeiro você precisa conhecer o hash do seu certificado. Encontrar o hash de um certificado é tão fácil no powershell quanto executar um comando dir no contêiner de certificados.
dir cert:\localmachine\my
O hash é o valor hexadecimal do Thumbprint.
Directory: Microsoft.PowerShell.Security\Certificate::localmachine\my
Thumbprint Subject
---------- -------
C12A8FC8AE668F866B48F23E753C93D357E9BE10 CN=*.mydomain.com
Assim que você tiver o valor do Thumbprint, basta defini-lo na propriedade TsgcWebSocketServer_HTTPAPI.TLSOptions.Hash.
Uma vez que você tenha definido o hash, basta definir TsgcWebSocketServer_HTTPAPI.SSL = true e seu servidor está pronto para iniciar.
Se você deseja registrar o certificado manualmente utilizando o netsh, use o seguinte comando:
netsh http add sslcert ipport=<IP>:<PORT> certhash=<THUMBPRINT> appid="{<GUID>}"
<IP>: Especifica o endereço IP local para o binding. Não use um binding curinga. Use um endereço IP válido.
<PORT>: Especifica a porta para o binding.
<THUMBPRINT>: O thumbprint do certificado X.509.
<GUID>: Um GUID gerado pelo desenvolvedor para representar o app para fins informativos.