Der openssl-Befehl genrsa generiert RSA-Schlüssel. Mit dem crypto/rsa-Paket können wir in Go die gleiche Funktionalität erreichen. Dieser Artikel bietet eine detaillierte Anleitung zum Generieren von RSA-Schlüsselpaaren und zum Schreiben dieser in separate Dateien in 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) }
Indem Sie die oben beschriebenen Schritte befolgen, können Sie mühelos RSA-Schlüsselpaare generieren und diese in separate Dateien in Go schreiben, ähnlich dem Befehl openssl genrsa. Dieser umfassende Leitfaden bietet eine solide Grundlage für die Arbeit mit RSA-Schlüsseln in Ihren Go-Anwendungen.
Das obige ist der detaillierte Inhalt vonWie erstelle ich RSA-Schlüsselpaare in Go und schreibe sie in separate Dateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!