Sample code for 30+ languages & platforms
Go

Export Digital Certificate's Public Key

See more Certificates Examples

The ExportPublicKey method can be called to get a certificate's public key. It can then be saved to any of a number of formats: (1) OpenSSL DER, (2) OpenSSL PEM, (3) RSA DER, (4) XML.

Chilkat Go Downloads

Go
    success := false

    cert := chilkat.NewCert()

    // LoadFromFile will load virtually any certificate format file.
    // It will auto-recognize the format and load appropiately.
    success = cert.LoadFromFile("/Users/chilkat/testData/cer/chilkat.cer")
    if success == false {
        fmt.Println(cert.LastErrorText())
        cert.DisposeCert()
        return
    }

    // Get the public key:
    pubkey := chilkat.NewPublicKey()
    cert.GetPublicKey(pubkey)

    // Save to various formats:
    success = pubkey.SaveDerFile(false,"/Users/chilkat/testData/pubkeys/chilkat_pkcs8.der")
    if success != true {
        fmt.Println(pubkey.LastErrorText())
        cert.DisposeCert()
        pubkey.DisposePublicKey()
        return
    }

    success = pubkey.SavePemFile(false,"/Users/chilkat/testData/pubkeys/chilkat.pem")
    if success != true {
        fmt.Println(pubkey.LastErrorText())
        cert.DisposeCert()
        pubkey.DisposePublicKey()
        return
    }

    success = pubkey.SaveDerFile(true,"/Users/chilkat/testData/pubkeys/chilkat_pkcs1.der")
    if success != true {
        fmt.Println(pubkey.LastErrorText())
        cert.DisposeCert()
        pubkey.DisposePublicKey()
        return
    }

    success = pubkey.SaveXmlFile("/Users/chilkat/testData/pubkeys/chilkat.xml")
    if success != true {
        fmt.Println(pubkey.LastErrorText())
        cert.DisposeCert()
        pubkey.DisposePublicKey()
        return
    }

    fmt.Println("Public key exported to all file formats.")

    cert.DisposeCert()
    pubkey.DisposePublicKey()