Unicode C
Unicode C
Get Certificate Subject Part by Name or OID
Demonstrates the GetSubjectPart method where a name or OID can be passed.Chilkat Unicode C Downloads
#include <C_CkCertW.h>
void ChilkatSample(void)
{
BOOL success;
HCkCertW cert;
const wchar_t *serialNum;
success = FALSE;
cert = CkCertW_Create();
success = CkCertW_LoadByCommonName(cert,L"myCert");
if (success == FALSE) {
wprintf(L"%s\n",CkCertW_lastErrorText(cert));
CkCertW_Dispose(cert);
return;
}
// This example demonstrates getting the SERIALNUMBER part of the subject,
// if one such part exists in the cert's subject.
// Not too many certicates include the serial number in the Subject.
// (Chilean issued certificates for SII is one such case where the SERIALNUMBER part exists within the Subject.)
serialNum = CkCertW_getSubjectPart(cert,L"SERIALNUMBER");
if (CkCertW_getLastMethodSuccess(cert) == FALSE) {
wprintf(L"No SERIALNUMBER part exists.\n");
CkCertW_Dispose(cert);
return;
}
wprintf(L"%s\n",serialNum);
// We could also get the part by the OID.
// See https://oidref.com/2.5.4.5 for a list of OID's in the 2.5.4.* range..
// The OID for SERIALNUMBER is "2.5.4.5"
serialNum = CkCertW_getSubjectPart(cert,L"2.5.4.5");
if (CkCertW_getLastMethodSuccess(cert) == FALSE) {
wprintf(L"No SERIALNUMBER part exists.\n");
CkCertW_Dispose(cert);
return;
}
wprintf(L"%s\n",serialNum);
CkCertW_Dispose(cert);
}