Sample code for 30+ languages & platforms
Tcl

Get Certificate Subject Part by Name or OID

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

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set cert [new_CkCert]

set success [CkCert_LoadByCommonName $cert "myCert"]
if {$success == 0} then {
    puts [CkCert_lastErrorText $cert]
    delete_CkCert $cert
    exit
}

# 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.)
set serialNum [CkCert_getSubjectPart $cert "SERIALNUMBER"]
if {[CkCert_get_LastMethodSuccess $cert] == 0} then {
    puts "No SERIALNUMBER part exists."
    delete_CkCert $cert
    exit
}

puts "$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"
set serialNum [CkCert_getSubjectPart $cert "2.5.4.5"]
if {[CkCert_get_LastMethodSuccess $cert] == 0} then {
    puts "No SERIALNUMBER part exists."
    delete_CkCert $cert
    exit
}

puts "$serialNum"

delete_CkCert $cert