Page 1 of 1

https

Posted: Thu 17 Feb 2011 11:15
by it12345
Hi,

Sorry for my English.


We bought SecureBridge library to be able to open the encrypted web pages using the TIdHttp component via HTTPS protocol.

Now I noticed that the TScIdIOHandler class contains a property Client which is a TScSSHClient type (not TScSSLClient as I previously erroneously thought).

This is declaration of TScIdIOHandler class:

TScIdIOHandler = class(TIdIOHandler)
private
FClient: TScSSHClient;
FSSHChannel: TScSSHChannel;
procedure SetClient(Value: TScSSHClient);
protected
procedure Notification(Component: TComponent; Operation: TOperation); override;
public
destructor Destroy; override;
procedure Open; override;
procedure Close; override;
procedure ConnectClient(const AHost: string; const APort: Integer; const ABoundIP: string;
const ABoundPort: Integer; const ABoundPortMin: Integer; const ABoundPortMax: Integer;
const ATimeout: Integer = IdTimeoutDefault); override;
function Connected: Boolean; override;
function Readable(AMSec: integer = IdTimeoutDefault): boolean; override;
function Recv(var ABuf; ALen: Integer): Integer; override;
function Send(var ABuf; ALen: Integer): Integer; override;
published
property Client: TScSSHClient read FClient write SetClient;
end;


It seems that the class has eight predefined virtual functions: Notification, Open, Close, ConnectClient, Connected, Readable, Recv and Send


How to implement these functions for the class like this ? :


TScIdIOHandler2 = class(TIdIOHandler)
private
FClient: TScSSLClient;
procedure SetClient(Value: TScSSLClient);
protected
procedure Notification(Component: TComponent; Operation: TOperation); override;
public
destructor Destroy; override;
procedure Open; override;
procedure Close; override;
procedure ConnectClient(const AHost: string; const APort: Integer; const ABoundIP: string;
const ABoundPort: Integer; const ABoundPortMin: Integer; const ABoundPortMax: Integer;
const ATimeout: Integer = IdTimeoutDefault); override;
function Connected: Boolean; override;
function Readable(AMSec: integer = IdTimeoutDefault): boolean; override;
function Recv(var ABuf; ALen: Integer): Integer; override;
function Send(var ABuf; ALen: Integer): Integer; override;
published
property SSLClient: TScSSLClient read FClient write SetClient;
end;


Is there any other possibility of using the SecureBridge library to opening web pages through the https protocol ?


Best Regards

Wieslaw Kubala
TED-Electronics

Posted: Fri 18 Feb 2011 11:38
by Dimon
SecureBridge does not support the HTTPS protocol using SSL. We are planning to support such functionality in the future.

To use the SSL protocol with the TIdHTTP component you should have IOHandler that is inherited from the TIdSSLIOHandlerSocket class, and not from the TIdIOHandler class as our TScIdIOHandler component.

Posted: Fri 18 Feb 2011 12:46
by it12345
Hi,

TIdSSLIOHandlerSocket class is hanging in indy 9 :(

What's why we bought SecureBridge.

Posted: Fri 18 Feb 2011 12:52
by it12345
TIdSSLIOHandlerSocket class inherits from the TIdIOHandler class, as well as the TScIdIOHandler class.

Best Regards

Wieslaw Kubala

Posted: Fri 18 Feb 2011 13:32
by Dimon
We are planning to support this functionality in the future.