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.

 

Looking for the .NET version of this control?

 

Development Environment
  • Visual Studio .NET (.NET Framework)
  • Visual Basic (VB)
  • Visual C++ (VC++)
  • FoxPro
  • PowerBuilder
  • Delphi
  • C++ Builder
  • ASP
  • Office 97/2000

 

 

Interface

Public Properties
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.
Public Methods
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.
Public Events
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.

 

 

Code Example

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
Store.Refresh

' 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)
Else
' Uh oh. No certificate found.
MsgBox("Error. No certificate found. Cannot use security.")
Exit Sub
End If
' Start the server on port 8080.
SecureServer1.Listen 8080
End Sub

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.
Child.Send (Data)
End Sub