Sample code for 30+ languages & platforms
Visual FoxPro

Get Certificate Subject Part by Name or OID

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

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loCert
LOCAL lcSerialNum

lnSuccess = 0

loCert = CreateObject('Chilkat.Cert')

lnSuccess = loCert.LoadByCommonName("myCert")
IF (lnSuccess = 0) THEN
    ? loCert.LastErrorText
    RELEASE loCert
    CANCEL
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 = 0) THEN
    ? "No SERIALNUMBER part exists."
    RELEASE loCert
    CANCEL
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 = 0) THEN
    ? "No SERIALNUMBER part exists."
    RELEASE loCert
    CANCEL
ENDIF

? lcSerialNum

RELEASE loCert