Una vez que el cliente se ha conectado al servidor seguro, puede solicitar información sobre la versión TLS en uso (TLS 1.2, TLS 1.3, etc.), el cifrado utilizado, la fortaleza y más detalles.
Llame a la función GetInfo del controlador SChannel para acceder a esta información. Puede acceder al controlador SSL usando el método OnSSLAfterCreateHandler, que se llama después de crear el controlador SChannel. Una vez que el cliente se conecta al servidor, si el controlador SSL está asignado, llame a la función GetInfo y, si tiene éxito, devolverá los datos de la conexión.
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;