C
C
Get Certificate Subject Part by Name or OID
Demonstrates the GetSubjectPart method where a name or OID can be passed.Chilkat C Downloads
#include <C_CkCert.h>
void ChilkatSample(void)
{
BOOL success;
HCkCert cert;
const char *serialNum;
success = FALSE;
cert = CkCert_Create();
success = CkCert_LoadByCommonName(cert,"myCert");
if (success == FALSE) {
printf("%s\n",CkCert_lastErrorText(cert));
CkCert_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 = CkCert_getSubjectPart(cert,"SERIALNUMBER");
if (CkCert_getLastMethodSuccess(cert) == FALSE) {
printf("No SERIALNUMBER part exists.\n");
CkCert_Dispose(cert);
return;
}
printf("%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 = CkCert_getSubjectPart(cert,"2.5.4.5");
if (CkCert_getLastMethodSuccess(cert) == FALSE) {
printf("No SERIALNUMBER part exists.\n");
CkCert_Dispose(cert);
return;
}
printf("%s\n",serialNum);
CkCert_Dispose(cert);
}