PowerBuilder
PowerBuilder
SSH Key Fingerprint
See more SSH Examples
Demonstrates generating a fingerprint for an SSH key. The private key is imported into an SshKey object — setting Password first if the key file is encrypted — and GenFingerprint returns the fingerprint.
Note: The file paths are relative to the application's current working directory. Supply the paths to your own files.
Background: A key fingerprint is a short hash that stands in for the full key, making it practical for humans to compare and for inventories to record. The everyday use is confirming that the private key you hold corresponds to a particular public key installed on a server — matching fingerprints is far easier than comparing key material. Note this fingerprints your own key; use
Ssh.GetHostKeyFP to fingerprint a server's host key.Chilkat PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Key
string ls_KeyStr
string ls_Fingerprint
li_Success = 0
// Demonstrates generating a fingerprint for an SSH key.
loo_Key = create oleobject
li_rc = loo_Key.ConnectToNewObject("Chilkat.SshKey")
if li_rc < 0 then
destroy loo_Key
MessageBox("Error","Connecting to COM object failed")
return
end if
// Set the password before importing an encrypted private key. This should come from a secure
// source rather than being hard-coded.
loo_Key.Password = "myKeyPassword"
// LoadText is a convenience method that reads any text file into a string. It does not itself
// load the key.
ls_KeyStr = loo_Key.LoadText("qa_data/privkey_openssh_encrypted.pem")
if loo_Key.LastMethodSuccess = 0 then
Write-Debug loo_Key.LastErrorText
destroy loo_Key
return
end if
li_Success = loo_Key.FromOpenSshPrivateKey(ls_KeyStr)
if li_Success = 0 then
Write-Debug loo_Key.LastErrorText
destroy loo_Key
return
end if
ls_Fingerprint = loo_Key.GenFingerprint()
if loo_Key.LastMethodSuccess = 0 then
Write-Debug loo_Key.LastErrorText
destroy loo_Key
return
end if
Write-Debug ls_Fingerprint
// For example: ssh-rsa 2048 d0:5f:f7:d6:49:60:7b:50:19:f4:41:59:d4:1f:61:7a
destroy loo_Key