Go
Go
Generate an RSA Key and Save to Encrypted PEM
See more RSA Examples
Demonstrates how to generate an RSA key and save to an encrypted PEM file.Chilkat Go Downloads
success := false
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
}
password := "secret"
// Saving to a relative path (from the current working directory of the process).
path := "rsaKeys/myTestRsaPrivate.pem"
// Encrypt the PEM using 256-bit AES encryption.
privKey.SetPkcs8EncryptAlg("aes256")
success = privKey.SavePkcs8EncryptedPemFile(password,path)
if success == false {
fmt.Println(privKey.LastErrorText())
rsa.DisposeRsa()
privKey.DisposePrivateKey()
return
}
//
// We can also save the public key.
// There is no need to encrypt public keys.
pubKey := chilkat.NewPublicKey()
privKey.ToPublicKey(pubKey)
path = "rsaKeys/myTestRsaPublic.pem"
// Choose PKCS1 or PKCS8
// We'll choose PKCS8.
preferPkcs1 := false
success = pubKey.SavePemFile(preferPkcs1,path)
if success == false {
fmt.Println(pubKey.LastErrorText())
rsa.DisposeRsa()
privKey.DisposePrivateKey()
pubKey.DisposePublicKey()
return
}
//
fmt.Println("Success.")
rsa.DisposeRsa()
privKey.DisposePrivateKey()
pubKey.DisposePublicKey()