Sample code for 30+ languages & platforms
Go

Get Certificate Subject Part by Name or OID

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

Chilkat Go Downloads

Go
    success := false

    cert := chilkat.NewCert()

    success = cert.LoadByCommonName("myCert")
    if success == false {
        fmt.Println(cert.LastErrorText())
        cert.DisposeCert()
        return
    }

    // 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.)
    serialNum := cert.GetSubjectPart("SERIALNUMBER")
    if cert.LastMethodSuccess() == false {
        fmt.Println("No SERIALNUMBER part exists.")
        cert.DisposeCert()
        return
    }

    fmt.Println(*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"
    serialNum = cert.GetSubjectPart("2.5.4.5")
    if cert.LastMethodSuccess() == false {
        fmt.Println("No SERIALNUMBER part exists.")
        cert.DisposeCert()
        return
    }

    fmt.Println(*serialNum)

    cert.DisposeCert()