PureBasic
PureBasic
SFTP Host Key Fingerprint
See more SFTP Examples
Demonstrates how to get the SSH server's host key fingerprint after connecting.Chilkat PureBasic Downloads
IncludeFile "CkSFtp.pb"
Procedure ChilkatExample()
success.i = 0
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
sftp.i = CkSFtp::ckCreate()
If sftp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
hostname.s = "sftp.example.com"
port.i = 22
success = CkSFtp::ckConnect(sftp,hostname,port)
If success <> 1
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
; Get the classic MD5 fingeprint
md5_fingerprint.s = CkSFtp::ckHostKeyFingerprint(sftp)
Debug md5_fingerprint
; Sample output:
; ssh-rsa 3072 21:b0:d8:41:4e:ef:78:10:20:af:01:b7:71:5d:eb:94
; Starting in Chilkat v9.5.0.92, we can also get the SHA256 fingerprint.
; (it is also possible to get fingerprints using other hash algorithms such as SHA384, SHA512, etc.)
includeKeyType.i = 1
includeHashName.i = 1
sha256_fingerprint.s = CkSFtp::ckGetHostKeyFP(sftp,"SHA256",includeKeyType,includeHashName)
Debug sha256_fingerprint
; Sample output:
; ssh-rsa SHA256:Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=
; The key type and hash name can be optionally included or not.
includeKeyType = 0
includeHashName = 1
sha256_fingerprint = CkSFtp::ckGetHostKeyFP(sftp,"SHA256",includeKeyType,includeHashName)
Debug sha256_fingerprint
; SHA256:Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=
includeKeyType = 1
includeHashName = 0
sha256_fingerprint = CkSFtp::ckGetHostKeyFP(sftp,"SHA256",includeKeyType,includeHashName)
Debug sha256_fingerprint
; ssh-rsa Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=
includeKeyType = 0
includeHashName = 0
sha256_fingerprint = CkSFtp::ckGetHostKeyFP(sftp,"SHA256",includeKeyType,includeHashName)
Debug sha256_fingerprint
; Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndProcedure