openssl コマンド genrsa は RSA キーを生成します。 Go では crypto/rsa パッケージを使用して同じ機能を実現できます。この記事では、RSA キー ペアを生成し、Go で個別のファイルに書き込む方法について詳しく説明します。
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) }
上記の手順に従うことで、openssl genrsa コマンドと同様に、Go で RSA キー ペアを簡単に生成し、別のファイルに書き込むことができます。この包括的なガイドは、Go アプリケーションで RSA キーを操作するための強固な基盤を提供します。
以上がGo で RSA キー ペアを生成し、別のファイルに書き込む方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。