C
C
Find Certificate by Email Address
Locate the certificate containing the specified email address in either the RFC822 Name or the Subject.Note: This example requires Chilkat v10.1.2 or later.
Chilkat C Downloads
#include <C_CkCertStore.h>
#include <C_CkJsonObject.h>
#include <C_CkCert.h>
void ChilkatSample(void)
{
BOOL success;
HCkCertStore certStore;
BOOL readOnly;
HCkJsonObject json;
const char *email_address;
HCkCert cert;
success = FALSE;
certStore = CkCertStore_Create();
// This opens the Current User certificate store on Windows,
// On MacOS and iOS it opens the default Keychain.
readOnly = TRUE;
success = CkCertStore_OpenCurrentUserStore(certStore,readOnly);
if (success == FALSE) {
printf("%s\n",CkCertStore_lastErrorText(certStore));
CkCertStore_Dispose(certStore);
return;
}
// Locate the certificate containing the specified email address in either the RFC822 Name or the Subject.
json = CkJsonObject_Create();
email_address = "harold@example.com";
CkJsonObject_UpdateString(json,"email",email_address);
cert = CkCert_Create();
success = CkCertStore_FindCert(certStore,json,cert);
if (success == TRUE) {
// Show the full distinguished name of the certificate.
printf("Found: %s\n",CkCert_subjectDN(cert));
}
else {
printf("Not found.\n");
}
CkCertStore_Dispose(certStore);
CkJsonObject_Dispose(json);
CkCert_Dispose(cert);
}