Sample code for 30+ languages & platforms
Xbase++

SFTP Host Key Fingerprint

See more SFTP Examples

Demonstrates how to get the SSH server's host key fingerprint after connecting.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oSftp
LOCAL cHostname
LOCAL nPort
LOCAL cMd5_fingerprint
LOCAL nIncludeKeyType
LOCAL nIncludeHashName
LOCAL cSha256_fingerprint

nSuccess := 0

//  This example assumes the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

oSftp := CreateObject("Chilkat.SFtp")

cHostname := "sftp.example.com"
nPort := 22
nSuccess := oSftp:Connect(cHostname, nPort)
IF (nSuccess != 1)
    ? oSftp:LastErrorText
    oSftp:destroy()
    RETURN
ENDIF

//  Get the classic MD5 fingeprint
cMd5_fingerprint := oSftp:HostKeyFingerprint
? cMd5_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.)

nIncludeKeyType := 1
nIncludeHashName := 1
cSha256_fingerprint := oSftp:GetHostKeyFP("SHA256", nIncludeKeyType, nIncludeHashName)
? cSha256_fingerprint

//  Sample output:
//  ssh-rsa SHA256:Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=

//  The key type and hash name can be optionally included or not.
nIncludeKeyType := 0
nIncludeHashName := 1
cSha256_fingerprint := oSftp:GetHostKeyFP("SHA256", nIncludeKeyType, nIncludeHashName)
? cSha256_fingerprint

//  SHA256:Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=

nIncludeKeyType := 1
nIncludeHashName := 0
cSha256_fingerprint := oSftp:GetHostKeyFP("SHA256", nIncludeKeyType, nIncludeHashName)
? cSha256_fingerprint

//  ssh-rsa Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=

nIncludeKeyType := 0
nIncludeHashName := 0
cSha256_fingerprint := oSftp:GetHostKeyFP("SHA256", nIncludeKeyType, nIncludeHashName)
? cSha256_fingerprint

//  Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=

oSftp:destroy()