TsgcWebSocketClient | Certificates SChannel

Sunucu, istemcinin bir SSL Sertifikası kullanarak bağlanmasını gerektirdiğinde, sertifika dosyalarını ayarlamak için TsgcWebSocketClient'in TLSOptions özelliğini kullanın.

 

SChannel üzerinden bağlantı, TLSOptions.IOHandler = iohSChannel olmasını gerektirir.

 

SChannel 2 tür sertifika kimlik doğrulamasını destekler:

 

1. Bir PFX sertifikası kullanma

2. Windows sistemine zaten kurulu bir sertifikanın Hash Certificate değerini ayarlama.

 

PFX Certificate

PFX Sertifikası, sertifikayı ve özel anahtarı içeren bir dosyadır, bazen PEM biçiminde bir sertifikanız olur, bu nedenle kullanmadan önce onu PFX'e dönüştürmeniz gerekir.

Bir PEM sertifikasını PFX'e dönüştürmek için aşağıdaki openssl komutunu kullanın

 


openssl pkcs12 -inkey certificate-pem.key -in certificate-pem.crt -export -out certificate.pfx

Sertifika PFX biçiminde olduğunda, yalnızca sertifikayı dağıtmanız ve TLSOptions.CertFile özelliğini onun yoluna ayarlamanız gerekir.

 


TLSOptions.IOHandler = iohSChannel
TLSOptions.CertFile = <certificate path>
TLSOptions.Password = <certificate optional password>

 

Hash Certificate

Sertifika zaten Windows sertifika deposunda kuruluysa, yalnızca sertifika thumbprint'ini bilmeniz ve onu TLSOptions.SChannel_Options özelliğinde ayarlamanız gerekir.

 

Bir sertifikanın hash'ini bulmak powershell'de sertifika konteyneri üzerinde bir dir komutu çalıştırmak kadar kolaydır.

dir cert:\localmachine\my

Hash, onaltılık Thumbprint değeridir.


Directory: Microsoft.PowerShell.Security\Certificate::localmachine\my
Thumbprint                                Subject
----------                                -------
C12A8FC8AE668F866B48F23E753C93D357E9BE10  CN=*.mydomain.com

Thumbprint değerini aldıktan sonra, hash'i ve sertifika konumunu TLSOptions.SChannel_Options özelliğinde ayarlamalısınız.


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>