Visual FoxPro
Visual FoxPro
SFTP Authentication using X.509 Certificates
See more SFTP Examples
Demonstrates how to authenticate with an SSH/SFTP server using an certificate's private key.Note: See X.509v3 Certificates for SSH Authentication for more information.
Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loSftp
LOCAL lcHostname
LOCAL lnPort
LOCAL loCert
LOCAL lcPrivKeyPem
LOCAL loKey
lnSuccess = 0
* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loSftp = CreateObject('Chilkat.SFtp')
lcHostname = "sftp.example.com"
lnPort = 22
lnSuccess = loSftp.Connect(lcHostname,lnPort)
IF (lnSuccess <> 1) THEN
? loSftp.LastErrorText
RELEASE loSftp
CANCEL
ENDIF
* Load the cert + private key from a .pfx.
* Note: Chilkat provides methods for loading certs and private keys from many sources, including smart cards and USB tokens (HSM's)
loCert = CreateObject('Chilkat.Cert')
lnSuccess = loCert.LoadPfxFile("qa_data/pfx/example.pfx","pfx_password")
IF (lnSuccess <> 1) THEN
? loCert.LastErrorText
RELEASE loSftp
RELEASE loCert
CANCEL
ENDIF
* Get the cert's private key (as PEM) to be used for SSH authentication.
* (The public key is installed on the server.)
lcPrivKeyPem = loCert.GetPrivateKeyPem()
IF (loCert.LastMethodSuccess = 0) THEN
? loCert.LastErrorText
RELEASE loSftp
RELEASE loCert
CANCEL
ENDIF
loKey = CreateObject('Chilkat.SshKey')
* Load a private key from a PEM string:
lnSuccess = loKey.FromOpenSshPrivateKey(lcPrivKeyPem)
IF (lnSuccess <> 1) THEN
? loKey.LastErrorText
RELEASE loSftp
RELEASE loCert
RELEASE loKey
CANCEL
ENDIF
* Authenticate with the SSH server.
lnSuccess = loSftp.AuthenticatePk("myLogin",loKey)
IF (lnSuccess <> 1) THEN
? loSftp.LastErrorText
RELEASE loSftp
RELEASE loCert
RELEASE loKey
CANCEL
ENDIF
? "Public-Key Authentication Successful!"
RELEASE loSftp
RELEASE loCert
RELEASE loKey