Sample code for 30+ languages & platforms
Unicode C

Apple Keychain - Get Certificate by Common Name

See more Apple Keychain Examples

Retrieves the certificate from the Apple Keychain that matches the specified common name (CN).

Note: This example requires Chilkat v10.0.0 or greater.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkCertW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkCertW cert;
    HCkCertW cert2;
    BOOL hasPrivKey;

    success = FALSE;

    // On MacOS or iOS, this searches both the Default keychains and System keychains for the certificate
    // having the specified CN.
    cert = CkCertW_Create();
    success = CkCertW_LoadByCommonName(cert,L"Certum CA");
    if (success == FALSE) {
        wprintf(L"%s\n",CkCertW_lastErrorText(cert));
        CkCertW_Dispose(cert);
        return;
    }

    wprintf(L"%s\n",CkCertW_subjectDN(cert));

    // Note: In the Apple Keychain, a certificate with its private key represents an identity because it combines the certificate and its private key.
    // When Chilkat loads a certificate from the Apple Keychain, it also gets the associated private key.
    // You can simply use the cert in other places in Chilkat where a cert w/ private key is required.
    cert2 = CkCertW_Create();
    success = CkCertW_LoadByCommonName(cert2,L"Chilkat Software, Inc.");
    if (success == FALSE) {
        wprintf(L"%s\n",CkCertW_lastErrorText(cert2));
        CkCertW_Dispose(cert);
        CkCertW_Dispose(cert2);
        return;
    }

    wprintf(L"%s\n",CkCertW_subjectDN(cert2));
    hasPrivKey = CkCertW_HasPrivateKey(cert2);
    wprintf(L"Has private key: %d\n",hasPrivKey);

    wprintf(L"Success.\n");


    CkCertW_Dispose(cert);
    CkCertW_Dispose(cert2);

    }