Sample code for 30+ languages & platforms
Go

Export a Public Key as DER into a BinData

Demonstrates the Chilkat PublicKey.GetDerBd method, which writes the public key as binary DER into a BinData. The first argument selects the representation (as for GetPem) and the second is the BinData that receives the bytes (its contents are replaced).

Note: The file paths are relative to the application's current working directory. Absolute paths may also be used. Supply the paths appropriate to your own environment.

Background: The in-memory binary export: the raw DER lands in a BinData ready to hash, transmit, or hand to another API without a temporary file. It is the BinData counterpart to the text exporters, and the first argument picks the same PKCS #1 versus SubjectPublicKeyInfo structure.

Chilkat Go Downloads

Go
    success := false

    //  Load a public key to export.  LoadFromFile inspects the content, so it accepts DER, PEM, XML,
    //  JWK, and other supported representations.
    pubKey := chilkat.NewPublicKey()
    success = pubKey.LoadFromFile("qa_data/public.pem")
    if success == false {
        fmt.Println(pubKey.LastErrorText())
        pubKey.DisposePublicKey()
        return
    }

    //  Write the public key as binary DER into a BinData.  The 1st argument selects the representation
    //  (as for GetPem) and the 2nd is the BinData that receives the bytes (its contents are replaced).
    preferPkcs1 := false
    bd := chilkat.NewBinData()
    success = pubKey.GetDerBd(preferPkcs1,bd)
    if success == false {
        fmt.Println(pubKey.LastErrorText())
        pubKey.DisposePublicKey()
        bd.DisposeBinData()
        return
    }

    fmt.Println("Exported ", bd.NumBytes(), " DER bytes.")

    pubKey.DisposePublicKey()
    bd.DisposeBinData()