Sample code for 30+ languages & platforms
Lianja

Get Certificate Subject Part by Name or OID

Demonstrates the GetSubjectPart method where a name or OID can be passed.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

loCert = createobject("CkCert")

llSuccess = loCert.LoadByCommonName("myCert")
if (llSuccess = .F.) then
    ? loCert.LastErrorText
    release loCert
    return
endif

// 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.)
lcSerialNum = loCert.GetSubjectPart("SERIALNUMBER")
if (loCert.LastMethodSuccess = .F.) then
    ? "No SERIALNUMBER part exists."
    release loCert
    return
endif

? lcSerialNum

// 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"
lcSerialNum = loCert.GetSubjectPart("2.5.4.5")
if (loCert.LastMethodSuccess = .F.) then
    ? "No SERIALNUMBER part exists."
    release loCert
    return
endif

? lcSerialNum


release loCert