Sample code for 30+ languages & platforms
Go

Generate an RSA Key and Get as Base64 DER

See more RSA Examples

Demonstrates how to generate a 2048-bit RSA key and return the public and private parts as unencrypted Base64 encoded DER.

Chilkat Go Downloads

Go
    success := false

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    rsa := chilkat.NewRsa()

    // Generate a 2048-bit key.
    privKey := chilkat.NewPrivateKey()
    success = rsa.GenKey(2048,privKey)
    if success == false {
        fmt.Println(rsa.LastErrorText())
        rsa.DisposeRsa()
        privKey.DisposePrivateKey()
        return
    }

    // Get the public part of the key.
    pubKey := chilkat.NewPublicKey()
    privKey.ToPublicKey(pubKey)

    // There are two possible formats for representing the RSA public key 
    // in ASN.1 (DER).  The possible formats are PKCS1 and PKCS8.
    // We can get either by setting bChoosePkcs1 to true or false.
    bChoosePkcs1 := true
    pubKeyBase64Der := pubKey.GetEncoded(bChoosePkcs1,"base64")
    fmt.Println("Public Key Base64 DER:")
    fmt.Println(*pubKeyBase64Der)

    // Get the private key as Base64 DER:
    // We can get PKCS1 or PKCS8, but with different methods:
    privKeyPkcs1 := privKey.GetPkcs1ENC("base64")
    fmt.Println("Private Key PKCS1 Base64 DER:")
    fmt.Println(*privKeyPkcs1)

    privKeyPkcs8 := privKey.GetPkcs8ENC("base64")
    fmt.Println("Private Key PKCS8 Base64 DER:")
    fmt.Println(*privKeyPkcs8)

    rsa.DisposeRsa()
    privKey.DisposePrivateKey()
    pubKey.DisposePublicKey()