(C) SSH Key Fingerprint
Generates a fingerprint for an SSH key.
#include <C_CkSshKey.h>
void ChilkatSample(void)
{
HCkSshKey key;
BOOL success;
const char *keyStr;
const char *fingerprint;
key = CkSshKey_Create();
// Load an SSH key from an encrypted OpenSSH-formatted private key:
CkSshKey_putPassword(key,"secret");
// First load the PEM into a string:
keyStr = CkSshKey_loadText(key,"privkey_openssh_encrypted.pem");
// Import into the SSH key object:
success = CkSshKey_FromOpenSshPrivateKey(key,keyStr);
if (success != TRUE) {
printf("%s\n",CkSshKey_lastErrorText(key));
CkSshKey_Dispose(key);
return;
}
// Generate the fingerprint:
fingerprint = CkSshKey_genFingerprint(key);
printf("%s\n",fingerprint);
// A sample fingerpring looks like this:
// ssh-dss 2048 d0:5f:f7:d6:49:60:7b:50:19:f4:41:59:d4:1f:61:7
CkSshKey_Dispose(key);
}
|