This is a creation in Article, where the information may have evolved or changed. Package Main
Import (
"Crypto/rand"
"Crypto/rsa"
"Crypto/x509"
"Encoding/pem"
"OS"
)
Func Main () {
RSA key File generation
Genrsakey (1024)
}
RSA public Key generation
Func Genrsakey (bits int) error {
Generate a private key file
Privatekey, Err: = RSA. GenerateKey (Rand. Reader, BITS)
If err! = Nil {
return err
}
Derstream: = X509. Marshalpkcs1privatekey (Privatekey)
Block: = &pem. block{
Type: "RSA PRIVATE KEY",
Bytes:derstream,
}
File, err: = OS. Create ("Private.pem")
If err! = Nil {
return err
}
Err = Pem. Encode (file, block)
If err! = Nil {
return err
}
Generate a public key file
PublicKey: = &privatekey.publickey
Derpkix, err: = X509. Marshalpkixpublickey (PublicKey)
If err! = Nil {
return err
}
block = &pem. block{
Type: "Public KEY",
Bytes:derpkix,
}
File, err = OS. Create ("Public.pem")
If err! = Nil {
return err
}
Err = Pem. Encode (file, block)
If err! = Nil {
return err
}
return Nil
}