Version: 2.1.5.0
SSL authentication and encryption ensures your data stays private as it travels across the public network.

SecureFtpServer ActiveX Control

Use the SecureFtpServer control to create FTP server applications which can transfer files using SSL, TLS, or PCT. Features include:

  • Use SSL 2.0, SSL 3.0, PCT, TLS or unencrypted FTP communications.
  • Customize certificate acceptance or rejection.
  • Client authentication fully supported.
  • Uniquely capable of SSL over FTP through a Firewall using Dart's proprietary FirewallReady functionality (requires PowerTCP products on both sides of the connection).
  • The SecureFtpServer 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.
  • When a request is received, a corresponding event is raised. Write your own custom handling code in the event handler.
  • Add authentication and customized user directories within the Login event.
  • Disallow changing directories within the ChangeDirectoryUp and ChangeWorkingDirectory events to those who do not have proper permissions.
  • Disallow directory creation/deletion within the MakeDirectory and RemoveDirectory methods to those who do not have proper permissions
  • Disallow file upload/download within the Retrieve and Store event to those who do not have proper permissions.

Development Environments

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

Interface

 

 

Public Properties
Authentication Specifies the security protocol and authentication type used.
Certificate Certificate Object to use when authenticating to the remote host.
ClientAuthentication Applies to server operation only.
Count Number of nonsecure TCP connections currently open.
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.
LogDirectory Directory for daily log files.
MaxIdleTime Maximum time in minutes a session can be idle before it terminates.
Protocol Specifies the security protocol used.
QuitMessage Message sent to the client in response to a QUIT command (when the user logs out.
RequestAccountInfo Controls whether the ACCT command is requested.
RestartAllowed Indicates whether users can restart file transfers.
SecretKey Sets the secret key used in password encryption.
Sessions Collection of active Session Objects.
Status Text description of the server status. This is the message returned to the client in response to a STAT command.
SystemName System name and type. This is the message returned to the client in response to a SYST command.
WelcomeMessage Message returned to the client when the client initially connects.
Public Methods
About Show the About Box.
ClearCertificate Clears the Certificate object contained in the Cerificate property.
Pause Stop the server from listening and accepting new connections, while allowing established connections and sessions to persist.
Start Start processing FTP requests.
Stop Stop the server from accepting new connections and immediately close existing client connections.
Public Events
Append Fires when the client attempts to append to a file (by sending an APPE command).
Authenticate Fires when the remote host has sent a certificate to be authenticated.
ChangeDirectoryUp Fires when the client sends a CDUP command.
ChangeWorkingDirectory Fires when the client sends a CWD command.
Command Fires when the client sends a custom command.
Delete Fires when the client sends a DELE command.
Error Fires whenever an error condition occurs.
Help Fires when the client sends the HELP command.
List Fires when the client sends a LIST command.
Login Fires when the client attempts to log into the server.
Logout Fires when the client sends the QUIT command.
MakeDirectory Fires when the client sends a MKD command.
NameList Fires when the client sends a NLST command.
RemoveDirectory Fires when the client sends a RMD command.
Rename Fires when the client attempts to rename a file.
Retrieve Fires when the client attempts to retrieve a file.
SessionEnd Fires just before the session is terminated.
SessionInit Fires when the client first connects to the server.
Site Fires when the client sends the SITE command.
Status Fires when the client sends the STAT command.
Store Fires when the client attempts to store a file.
StructureMount Fires when the client sends the SMNT command.

Code Example

How easy is the SecureFtpServer control to use? This example demonstrates creating a fully-functional secure FTP 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.
        SecureFtp1.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 listening on port 21 with the FTP root C:\FtpRoot
    FtpServer1.Start "C:\FtpRoot"
End Sub