Sample code for 30+ languages & platforms
Xbase++

Get Certificate Subject Part by Name or OID

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

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oCert
LOCAL cSerialNum

nSuccess := 0

oCert := CreateObject("Chilkat.Cert")

nSuccess := oCert:LoadByCommonName("myCert")
IF (nSuccess == 0)
    ? oCert:LastErrorText
    oCert:destroy()
    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.)
cSerialNum := oCert:GetSubjectPart("SERIALNUMBER")
IF (oCert:LastMethodSuccess == 0)
    ? "No SERIALNUMBER part exists."
    oCert:destroy()
    RETURN
ENDIF

? cSerialNum

//  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"
cSerialNum := oCert:GetSubjectPart("2.5.4.5")
IF (oCert:LastMethodSuccess == 0)
    ? "No SERIALNUMBER part exists."
    oCert:destroy()
    RETURN
ENDIF

? cSerialNum

oCert:destroy()