PureBasic
PureBasic
SSH Host Key Fingerprint
See more SSH Examples
Demonstrates how to get the SSH server's host key fingerprint after connecting.Chilkat PureBasic Downloads
IncludeFile "CkSsh.pb"
Procedure ChilkatExample()
success.i = 0
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
ssh.i = CkSsh::ckCreate()
If ssh.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
hostname.s = "ssh.example.com"
port.i = 22
success = CkSsh::ckConnect(ssh,hostname,port)
If success <> 1
Debug CkSsh::ckLastErrorText(ssh)
CkSsh::ckDispose(ssh)
ProcedureReturn
EndIf
; Get the classic MD5 fingeprint
md5_fingerprint.s = CkSsh::ckHostKeyFingerprint(ssh)
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 = CkSsh::ckGetHostKeyFP(ssh,"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 = CkSsh::ckGetHostKeyFP(ssh,"SHA256",includeKeyType,includeHashName)
Debug sha256_fingerprint
; SHA256:Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=
includeKeyType = 1
includeHashName = 0
sha256_fingerprint = CkSsh::ckGetHostKeyFP(ssh,"SHA256",includeKeyType,includeHashName)
Debug sha256_fingerprint
; ssh-rsa Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=
includeKeyType = 0
includeHashName = 0
sha256_fingerprint = CkSsh::ckGetHostKeyFP(ssh,"SHA256",includeKeyType,includeHashName)
Debug sha256_fingerprint
; Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=
CkSsh::ckDispose(ssh)
ProcedureReturn
EndProcedure