AutoIt
AutoIt
SFTP Authenticate Secure
Demonstrates how to do SFTP password authentication with secure strings.This example requires Chilkat v9.5.0.71 or greater.
Chilkat AutoIt Downloads
Local $bSuccess = False
; 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=="
; }
$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.LoadFile("qa_data/passwords/ssh.json")
$oCrypt = ObjCreate("Chilkat.Crypt2")
; These are the encryption settings we previously used to encrypt the credentials within the JSON config file.
$oCrypt.CryptAlgorithm = "aes"
$oCrypt.CipherMode = "cbc"
$oCrypt.KeyLength = 128
$oCrypt.SetEncodedKey "000102030405060708090A0B0C0D0E0F","hex"
$oCrypt.SetEncodedIV "000102030405060708090A0B0C0D0E0F","hex"
$oCrypt.EncodingMode = "base64"
$oSsLogin = ObjCreate("Chilkat.SecureString")
$oSsPassword = ObjCreate("Chilkat.SecureString")
; Decrypt to the secure string. (the strings will still held in memory encrypted, but are now encrypted using
; a randomly generated session key.)
$oCrypt.DecryptSecureENC($oJson.StringOf("ssh_login"),$oSsLogin)
$oCrypt.DecryptSecureENC($oJson.StringOf("ssh_password"),$oSsPassword)
$oSftp = ObjCreate("Chilkat.SFtp")
$bSuccess = $oSftp.Connect("MY-SSH-SERVER-DOMAIN-OR-IP",22)
If ($bSuccess <> True) Then
ConsoleWrite($oSftp.LastErrorText & @CRLF)
Exit
EndIf
; Authenticate using secure strings
$bSuccess = $oSftp.AuthenticateSecPw($oSsLogin,$oSsPassword)
If ($bSuccess <> True) Then
ConsoleWrite($oSftp.LastErrorText & @CRLF)
Exit
EndIf
ConsoleWrite("SFTP Authentication successful." & @CRLF)
$oSftp.Disconnect