Po nawiązaniu przez klienta połączenia z bezpiecznym serwerem można uzyskać informacje o używanej wersji TLS (TLS 1.2, TLS 1.3 itp.), zastosowanym szyfrze, sile klucza i innych parametrach.
Wywołaj funkcję GetInfo programu obsługi SChannel, aby uzyskać dostęp do tych informacji. Dostęp do programu obsługi SSL można uzyskać za pomocą metody OnSSLAfterCreateHandler, która jest wywoływana po utworzeniu programu obsługi SChannel. Po nawiązaniu połączenia klienta z serwerem, jeśli program obsługi SSL jest przypisany, wywołaj funkcję GetInfo, która w przypadku powodzenia zwróci dane połączenia.
usessgcIdSSL, sgcSSL_SChannel_Indy, sgcSSL_SChannel;var SSL: TsgcIdSSLIOHandlerSocketSChannel; oClient := TsgcWebSocketClient.Create(nil); oClient.URL := 'wss://www.esegece.com:2053'; oClient.TLSOptions.Version := tls1_2; oClient.TLSOptions.IOHandler := iohSChannel; oClient.OnSSLAfterCreateHandler := OnSSLAfterCreateHandlerEvent; oClient.OnConnect := OnConnectEvent; oClient.Active := True; procedure OnSSLAfterCreateHandlerEvent(Sender: TObject; aType: TwsSSLHandler; aSSLHandler: TIdSSLIOHandlerSocketBase); begin if aSSLHandler.ClassType = TsgcIdSSLIOHandlerSocketSChannel then SSL := TsgcIdSSLIOHandlerSocketSChannel(aSSLHandler); end; procedure OnConnectEvent(Connection: TsgcWSConnection); var oInfo: TsgcSChannelConnectionInfo; begin if Assigned(SSL) then begin oInfo := SSL.GetInfo; if (oInfo.Protocol != tls1_2) then raise Exception.Create('Client cannot connect using TLS 1.2'); end; end;