Lianja
Lianja
SFTP Authenticate Secure
Demonstrates how to do SFTP password authentication with secure strings.This example requires Chilkat v9.5.0.71 or greater.
Chilkat Lianja Downloads
llSuccess = .F.
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Imagine we've previously saved our encrypted login and password within a JSON config file
// that contains this:
// {
// "ssh_login": "2+qylFfC56Ck7OQQt/U2/w==",
// "ssh_password": "5neIq9Jmn0E3p71N6Yc8TA=="
// }
loJson = createobject("CkJsonObject")
loJson.LoadFile("qa_data/passwords/ssh.json")
loCrypt = createobject("CkCrypt2")
// These are the encryption settings we previously used to encrypt the credentials within the JSON config file.
loCrypt.CryptAlgorithm = "aes"
loCrypt.CipherMode = "cbc"
loCrypt.KeyLength = 128
loCrypt.SetEncodedKey("000102030405060708090A0B0C0D0E0F","hex")
loCrypt.SetEncodedIV("000102030405060708090A0B0C0D0E0F","hex")
loCrypt.EncodingMode = "base64"
loSsLogin = createobject("CkSecureString")
loSsPassword = createobject("CkSecureString")
// Decrypt to the secure string. (the strings will still held in memory encrypted, but are now encrypted using
// a randomly generated session key.)
loCrypt.DecryptSecureENC(loJson.StringOf("ssh_login"),loSsLogin)
loCrypt.DecryptSecureENC(loJson.StringOf("ssh_password"),loSsPassword)
loSftp = createobject("CkSFtp")
llSuccess = loSftp.Connect("MY-SSH-SERVER-DOMAIN-OR-IP",22)
if (llSuccess <> .T.) then
? loSftp.LastErrorText
release loJson
release loCrypt
release loSsLogin
release loSsPassword
release loSftp
return
endif
// Authenticate using secure strings
llSuccess = loSftp.AuthenticateSecPw(loSsLogin,loSsPassword)
if (llSuccess <> .T.) then
? loSftp.LastErrorText
release loJson
release loCrypt
release loSsLogin
release loSsPassword
release loSftp
return
endif
? "SFTP Authentication successful."
loSftp.Disconnect()
release loJson
release loCrypt
release loSsLogin
release loSsPassword
release loSftp