openssl 指令 genrsa 產生 RSA 概述
import ( "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/pem" "io/ioutil" )
filename := "key" bitSize := 4096 // Generate RSA keypair key, err := rsa.GenerateKey(rand.Reader, bitSize)
pub := key.Public()
// Encode private key to PKCS#1 ASN.1 PEM keyPEM := pem.EncodeToMemory( &pem.Block{ Type: "RSA PRIVATE KEY", Bytes: x509.MarshalPKCS1PrivateKey(key), }, ) // Encode public key to PKCS#1 ASN.1 PEM pubPEM := pem.EncodeToMemory( &pem.Block{ Type: "RSA PUBLIC KEY", Bytes: x509.MarshalPKCS1PublicKey(pub.(*rsa.PublicKey)), }, )
// Write private key to file if err := ioutil.WriteFile(filename+".rsa", keyPEM, 0700); err != nil { panic(err) } // Write public key to file if err := ioutil.WriteFile(filename+".rsa.pub", pubPEM, 0755); err != nil { panic(err) }
結論
按照上述步驟,您可以輕鬆產生 RSA 金鑰對並將它們寫入 Go 中的單獨文件,類似於 openssl genrsa 命令。這個全面的指南為在 Go 應用程式中使用 RSA 金鑰提供了堅實的基礎。以上是如何在Go中產生RSA金鑰對並將它們寫入單獨的檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!