Sample code for 30+ languages & platforms
PowerBuilder

Get Certificate Subject Part by Name or OID

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

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Cert
string ls_SerialNum

li_Success = 0

loo_Cert = create oleobject
li_rc = loo_Cert.ConnectToNewObject("Chilkat.Cert")
if li_rc < 0 then
    destroy loo_Cert
    MessageBox("Error","Connecting to COM object failed")
    return
end if

li_Success = loo_Cert.LoadByCommonName("myCert")
if li_Success = 0 then
    Write-Debug loo_Cert.LastErrorText
    destroy loo_Cert
    return
end if

// 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.)
ls_SerialNum = loo_Cert.GetSubjectPart("SERIALNUMBER")
if loo_Cert.LastMethodSuccess = 0 then
    Write-Debug "No SERIALNUMBER part exists."
    destroy loo_Cert
    return
end if

Write-Debug ls_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"
ls_SerialNum = loo_Cert.GetSubjectPart("2.5.4.5")
if loo_Cert.LastMethodSuccess = 0 then
    Write-Debug "No SERIALNUMBER part exists."
    destroy loo_Cert
    return
end if

Write-Debug ls_SerialNum


destroy loo_Cert