AutoIt
AutoIt
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 AutoIt Downloads
Local $bSuccess = False
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oSftp = ObjCreate("Chilkat.SFtp")
Local $sHostname = "sftp.example.com"
Local $iPort = 22
$bSuccess = $oSftp.Connect($sHostname,$iPort)
If ($bSuccess <> True) Then
ConsoleWrite($oSftp.LastErrorText & @CRLF)
Exit
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)
$oCert = ObjCreate("Chilkat.Cert")
$bSuccess = $oCert.LoadPfxFile("qa_data/pfx/example.pfx","pfx_password")
If ($bSuccess <> True) Then
ConsoleWrite($oCert.LastErrorText & @CRLF)
Exit
EndIf
; Get the cert's private key (as PEM) to be used for SSH authentication.
; (The public key is installed on the server.)
Local $sPrivKeyPem = $oCert.GetPrivateKeyPem()
If ($oCert.LastMethodSuccess = False) Then
ConsoleWrite($oCert.LastErrorText & @CRLF)
Exit
EndIf
$oKey = ObjCreate("Chilkat.SshKey")
; Load a private key from a PEM string:
$bSuccess = $oKey.FromOpenSshPrivateKey($sPrivKeyPem)
If ($bSuccess <> True) Then
ConsoleWrite($oKey.LastErrorText & @CRLF)
Exit
EndIf
; Authenticate with the SSH server.
$bSuccess = $oSftp.AuthenticatePk("myLogin",$oKey)
If ($bSuccess <> True) Then
ConsoleWrite($oSftp.LastErrorText & @CRLF)
Exit
EndIf
ConsoleWrite("Public-Key Authentication Successful!" & @CRLF)