PowerTCP SSL for ActiveXfrom $999.00
SecureTcp ActiveX Control
Use the SecureTcp control to automatically authenticate and encrypt/decrypt all data sent and received over a TCP connection using SSL2, SSL3, PCT, and TLS. Features include:
- Select SSL 2.0, SSL 3.0, PCT, TLS or unencrypted TCP communications.
- Customize certificate acceptance or rejection.
- Client authentication fully supported.
- TCP Send method sends data to the server.
- TCP Receive method receives all available data.
- TCP Search Method supports variable length records and line processing, eliminating the need to search for termination characters and simplifying buffer management.
- TCP Fill Method supports fixed length binary records, simplifying buffer management and reducing the code needed to send and receive binary structures.
- Proxy support, including Socks 4 and 5
- Visual Studio .NET (.NET Framework)
- Visual Basic (VB)
- Visual C++ (VC++)
- C++ Builder
- Office 97/2000
|Blocked||A True value indicates the control is currently executing a blocking method (Timeout is greater than 0), which has neither completed nor timed out with a ptTimeout error.|
|Certificate||Certificate Object to use when authenticating to the remote host.|
|ClientAuthentication||Applies to server operation only.|
|KeepAlive||When set to True, the KEEPALIVE socket option is set to monitor dropped connections. This option can only be set when the State property is tcpConnected.|
|LocalAddress||Returns the address of the local host in dot notation (for example, nnn.nnn.nnn.nnn). When not connected, it returns an empty string.|
|LocalPort||Returns the port number that the socket is bound to. When not connected, it returns 0.|
|NoDelay||When True, the NODELAY socket option is set to defeat Nagle's algorithm|
|Protocol||Specifies the security protocol used.|
|ProxyHost||Specifies the name or address of the proxy server that requests are to be routed through.|
|ProxyPassword||Password to be sent on all requests through a proxy server that requires authentication.|
|ProxyPort||Specifies the port used by proxy server that requests are to be routed through.|
|ProxyType||The type of proxy server used for this connection.|
|ProxyUsername||Username to be sent on all requests through a proxy server that requires authentication.|
|ReceiveBufferCount||Checks for the existence of data without removing it.|
|ReceiveBufferSize||Number of bytes the system has for buffering incoming data|
|Ref||Stores a reference to another object, data type, or value.|
|RemoteAddress||Returns the address of the remote host in dot notation (i.e. nnn.nnn.nnn.nnn) when the State property is tcpConnected.|
|RemotePort||Returns the port number of the remote host when the State property is tcpConnected.|
|ReuseAddress||When True, the REUSEADDR socket option is set to accept duplicate use of the same LocalAddress / LocalPort pair (these are optional parameters of the Connect and Listen methods).|
|Security||Sets the security level during communication.|
|SendBufferCount||When the Send method is used, some data may be stored in a buffer and later submitted to the system. The Send event fires to indicate that the system has accepted the submitted data.|
|SendBufferSize||Number of bytes the system uses for buffering outgoing data.|
|Socket||System identifier assigned to the TCP connection. It is normally used to assume management of a socket accepted from the Daemon Control.|
|State||Provides status information to the user interface. The State event fires to signal that this property has changed.|
|Timeout||Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.|
|Abort||Abort any blocking method and release all system resources.|
|About||Show the About Box.|
|ClearCertificate||Clears the Certificate object contained in the Certificate property.|
|Close||Close the session and release all system resources. A single control can be used for many connections, one after the other.|
|Connect||Establish a secure connection.|
|Fill||Use this method when you know exactly how many bytes or characters you want from the TCP stream.|
|Receive||Receive an arbitrary amount of data. The specified String or Byte array is filled with bytes from the remote host.|
|Search||Receive data up to and including a terminating sequence.|
|Send||Send data after a connection is established.|
|Trace||Start or stop the accumulation of trace or debug data. Once started, this method accumulates data until it is turned off.|
|Authenticate||Fires when the remote host has sent a certificate to be authenticated.|
|Certificate||Fires when the remote host is requesting a certificate and the Certificate property is not set to a valid Certificate Object.|
|Error||Fires when an error condition occurs.|
|Receive||Fires when ReceiveBufferCount changes.|
|Send||Fires when the system accepts data for sending.|
|State||Fires when the State property changes.|
How easy is the SecureTcp component to use? This example demonstrates creating a simple secure TCP client.
Private Sub SecurityTest2()
' Perform all checks in the Authenticate event
SecureTcp1.Security = secureNormal
' Connect to a secure echo server. Security will be negotiated first.
SecureTcp1.Connect "myserver", 7
' Success! SSL connection established. Send some data
' just to test the SSL connection
' Receive and print the response
Dim Data As String
Dim ByteCount As Long
ByteCount = SecureTcp1.Receive(Data)
' Close connection
Private Sub SecureTcp1_Authenticate(ByVal RemoteCertificate As DartSecureFtpCtl.ICertificate,
ByVal TrustedRoot As Boolean, ByVal ValidDate As Boolean, ByVal ValidSignature As Boolean,
Valid As Boolean)
' The server's certificate has been received.
Dim Msg As String
' Check to see if it passed all the checks.
If Not Valid Then
' It didn't, so check everything and give the user the option to accept/reject.
If Not ValidDate Then Msg = Msg + "- Certificate date is invalid" + vbCrLf
If Not TrustedRoot Then Msg = Msg + "- Certificate Authority is not trusted"
If Not ValidSignature Then Msg = Msg + "- Certificate does not contain a valid
signature" + vbCrLf
Msg = "The following conditions are true:" + vbCrLf + vbCrLf + Msg + vbCrLf
Msg = Msg + "Do you still wish to authenticate?"
If MsgBox(Msg, vbYesNo + vbExclamation, "Security Alert") = vbYes Then
' User still wants to accept so accept it (by setting Valid to true)
Valid = True