TsgcWebSocketClient | Certificates SChannel

서버가 클라이언트에게 SSL 인증서를 사용하여 연결하도록 요구하는 경우, TsgcWebSocketClient의 TLSOptions 속성을 사용하여 인증서 파일을 설정하십시오.

 

SChannel을 통한 연결은 TLSOptions.IOHandler = iohSChannel을 요구합니다.

 

SChannel은 2가지 유형의 인증서 인증을 지원합니다:

 

1. PFX 인증서 사용

2. Windows 시스템에 이미 설치된 인증서의 Hash Certificate를 설정합니다.

 

PFX Certificate

PFX 인증서는 인증서와 개인 키를 포함하는 파일입니다. PEM 형식의 인증서가 있는 경우가 있으므로, 사용하기 전에 PFX로 변환해야 합니다.

PEM 인증서를 PFX로 변환하려면 다음 openssl 명령을 사용하십시오

 


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

인증서가 PFX 형식이 되면, 인증서를 배포하고 TLSOptions.CertFile 속성을 해당 경로로 설정하기만 하면 됩니다.

 


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

 

Hash Certificate

인증서가 이미 Windows 인증서 저장소에 설치되어 있는 경우, 인증서 지문만 알고 이를 TLSOptions.SChannel_Options 속성에 설정하면 됩니다.

 

인증서의 해시를 찾는 것은 powershell에서 인증서 컨테이너에 dir 명령을 실행하는 것만큼 쉽습니다.

dir cert:\localmachine\my

해시는 16진수 Thumbprint 값입니다.


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

Thumbprint 값을 얻으면 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>