ASP Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++DelphiFoxProJavaPerlPythonRubySQL ServerVBScript

ASP Examples

ASP String
ASP Byte Array
Bounced Mail
Character Encoding
Digital Certificates
Digital Signatures
Email
FTP
HTML-to-XML
HTTP
IMAP
Encryption
MHT / HTML Email
S/MIME
Socket
Spider
RSA Encryption
Tar
Upload
XML
XMP
Zip Compression

More Examples...
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor

Unreleased...
Service
PPMD
Deflate
Bzip2
LZW
Bz2
DH Key Exchange
DSA
Icon

 

 

 

 

 

 

Secure FTP with .crt and .pvk (private key file)

Chilkat FTP2 provides the ability to use a client certificate with secure FTP (implicit or explicit SSL/TLS). This example demonstrates how to load a certificate from separate .crt (or .cer) and .pvk files and use it as the client-side SSL cert. The .pvk contains the private key. The .crt/.cer file contains the PEM or DER encoded digital certificate. Note: Client-side certificates are only needed in situations where the server demands one.

Download Chilkat FTP2 ActiveX

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
set ftp = Server.CreateObject("Chilkat.Ftp2")

'  Any string unlocks the component for the 1st 30-days.
success = ftp.UnlockComponent("Anything for 30-day trial")
If (success <> 1) Then
    Response.Write ftp.LastErrorText & "<br>"

End If

'  You may use this account for testing.
'  This account allows for directory listings and files
'  to be downloaded.  However, file uploads are not allowed.
ftp.Hostname = "ftp.secureftp-test.com"
ftp.Username = "test"
ftp.Password = "test"

'  Establish an explicit secure channel after connection
'  on the standard FTP port 21.
ftp.AuthTls = 1

'  The Ssl property is for establishing an implicit SSL connection
'  on port 990.  Do not set it.
ftp.Ssl = 0

set cert = Server.CreateObject("Chilkat.Cert")

'  LoadFromFile will load either PEM and DER formatted files.
'  It automatically recognizes the file format based on the
'  file contents.
success = cert.LoadFromFile("Test.crt")
If (success <> 1) Then
    Response.Write cert.LastErrorText & "<br>"

End If

password = "test"
set pvk = Server.CreateObject("Chilkat.PrivateKey")
success = pvk.LoadPvkFile("Test.pvk",password)
If (success <> 1) Then
    Response.Write pvk.LastErrorText & "<br>"

End If

'  Import the private key to a Windows key container and link
'  it to the certificate.  (It's OK if the key is already
'  imported and present in the key container...)

'  Choose anything for the key container name.
keyContainerName = "MyCertForFtp"

'  We'll import the key to our logged-on user keyset rather
'  than the machine keyset:
bMachineKeyset = 0

bNeedPrivateKeyAccess = 1

'  Create a key container and import the private key.
set keyContainer = Server.CreateObject("Chilkat.KeyContainer")
success = keyContainer.OpenContainer(keyContainerName,bNeedPrivateKeyAccess,bMachineKeyset)
If (success <> 1) Then
    success = keyContainer.CreateContainer(keyContainerName,bMachineKeyset)
End If

If (success <> 1) Then
    Response.Write keyContainer.LastErrorText & "<br>"

End If

'  Import the private key into the key container.
'  We're using the key for key exchange, not signing:
bForKeyExchange = 0
success = keyContainer.ImportPrivateKey(pvk,bForKeyExchange)
If (success <> 1) Then
    Response.Write keyContainer.LastErrorText & "<br>"

End If

'  Link the cert with the private key in the key container.
bForSigning = 1
success = cert.LinkPrivateKey(keyContainerName,bMachineKeyset,bForSigning)
If (success <> 1) Then
    Response.Write cert.LastErrorText & "<br>"

End If

'  The cert now has access to a private key and is ready to be
'  used...

'  Use this certificate for our secure (SSL/TLS) connection:
ftp.SetSslClientCert cert

'  Connect and login to the FTP server.  The connection is
'  made secure because of the AuthTls setting.
success = ftp.Connect()
If (success <> 1) Then
    Response.Write ftp.LastErrorText & "<br>"

Else
    '  LastErrorText contains information even when
    '  successful. This allows you to visually verify
    '  that the secure connection actually occurred.
    Response.Write Server.HTMLEncode( ftp.LastErrorText) & "<br>"
End If

Response.Write "Secure FTP Channel Established!" & "<br>"

'  Do whatever you're doing to do ...
'  upload files, download files, etc...

ftp.Disconnect 

'  The LastErrorText provides a detailed log of the
'  SSL connection for both success and failed connections.
'  Here is an example of a successful connection.
'  The client certificate is logged as "ClientCertDN":

'  ChilkatLog:
'    Connect:
'      DllDate: Aug 15 2007
'      Hostname: ftp.secureftp-test.com
'      Port: 21
'      IdleTimeoutMs: 60000
'      ConnectTimeout: 60
'      HeartbeatMs: 0
'      initialStatus: 220
'      initialResponse: 220 FileZilla Server version 0.9.23 beta
'      converting to secure connection...
'      ClientCertDN: C=US, S=Illinois, L=Wheaton, O="Chilkat Software, Inc.", OU=Secure Application Development, CN="Chilkat Software, Inc."
'      SSL Server Certificate not verified.
'      ConnectionInfo:
'        protocol: TLS1
'        cipher: RC4
'        cipherStrength: 128
'        hash: MD5
'        hashStrength: 128
'        keyExchange: RSA
'        keyExchangeStrength: 1024
'      Secure Channel Established.
'      successfully converted to secure connection...
'      Features: 211-Features:
'   MDTM
'   REST STREAM
'   SIZE
'   MLST type*;size*;modify*;
'   MLSD
'   AUTH SSL
'   AUTH TLS
'   UTF8
'   CLNT
'   MFMT
'  211 End
'      Directory listings are utf-8
'      Logging in...
'      Username: test
'      Login successful.
'      Connect successful

%>
</body>
</html>

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2008 Chilkat Software, Inc. All Rights Reserved.