SecureServer ActiveX Control
Use the SecureServer control to accept connections and handle requests while automatically authenticating and encrypting/decrypting all data sent and received 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.
- Create ANY higher-level protocol secure server such as a POP server, SMTP server, FTP server, etc.
- The SecureServer control uses an internal Daemon object and dynamically creates internal TCP objects as each passive connection is automatically accepted. Use this TCP object to send and receive data to that individual connection.
- Visual Studio .NET (.NET Framework)
- Visual Basic (VB)
- Visual C++ (VC++)
- C++ Builder
- Office 97/2000
|Certificate||Certificate Object to use when authenticating to the remote host.|
|Children||Returns a collection of secure TCP child connections accepted by the server.|
|ClientAuthentication||Evaluates to a control that incorporates secure connections.|
|LocalAddress||Returns the address in use while the Daemon is active and an empty string when the Daemon socket is closed.|
|LocalPort||Returns the port number in use while the Daemon is active and 0 when the Daemon is closed.|
|Protocol||Specifies the security protocol used.|
|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). If used, this property must be set prior to calling the Connect or Listen method and can be set at design time.|
|About||Show the About Box.|
|ClearCertificate||Clears the Certificate object contained in the Certificate property.|
|Close||Release system resources.|
|Listen||Start listening for passive connections.|
|Authenticate||Fires when the remote host has sent a certificate to be authenticated.|
|Count||Fires to indicate that the Children.Count property has changed.|
|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 SecureServer control to use? This example demonstrates creating a simple secure TCP echo server.
Private Sub StartServer()
' Create a new CertificateStore object. This helps to select a cert.
Dim Store As New CertificateStore
'Get the certificates in "MY" certificate store located in the
'current user registry key.
Store.Name = "MY"
Store.Location = locationLocalMachine
' Check to see if any certificates were found in this store.
If Store.Certificates.Count > 0 Then
' Yep. Just use the first one.
SecureServer1.Certificate = Store.Certificates.Item(1)
' Uh oh. No certificate found.
MsgBox("Error. No certificate found. Cannot use security.")
' Start the server on port 8080.
Private Sub SecureServer1_Receive(ByVal Child As DartSecureCtl.ISecureTcp)
' Buffercount changed. Receive data from a connected client.
Dim Data As String
Dim ByteCount As Long
ByteCount = Child.Receive(Data)
' Now echo the data back.