(Unicode C) SSH Key Fingerprint
Generates a fingerprint for an SSH key.
#include <C_CkSshKeyW.h>
void ChilkatSample(void)
{
HCkSshKeyW key;
BOOL success;
const wchar_t *keyStr;
const wchar_t *fingerprint;
key = CkSshKeyW_Create();
// Load an SSH key from an encrypted OpenSSH-formatted private key:
CkSshKeyW_putPassword(key,L"secret");
// First load the PEM into a string:
keyStr = CkSshKeyW_loadText(key,L"privkey_openssh_encrypted.pem");
// Import into the SSH key object:
success = CkSshKeyW_FromOpenSshPrivateKey(key,keyStr);
if (success != TRUE) {
wprintf(L"%s\n",CkSshKeyW_lastErrorText(key));
CkSshKeyW_Dispose(key);
return;
}
// Generate the fingerprint:
fingerprint = CkSshKeyW_genFingerprint(key);
wprintf(L"%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
CkSshKeyW_Dispose(key);
}
|