Sample code for 30+ languages & platforms
Unicode C

SSH Key Fingerprint

See more SSH Key Examples

Generates a fingerprint for an SSH key.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkSshKeyW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkSshKeyW key;
    const wchar_t *keyStr;
    const wchar_t *fingerprint;

    success = FALSE;

    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);

    }