La commande openssl genrsa génère des clés RSA. Nous pouvons obtenir la même fonctionnalité dans Go en utilisant le package crypto/rsa. Cet article fournit une procédure détaillée sur la façon de générer des paires de clés RSA et de les écrire dans des fichiers séparés dans 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) }
En suivant les étapes décrites ci-dessus, vous pouvez facilement générer des paires de clés RSA et les écrire dans des fichiers séparés dans Go, de la même manière que la commande openssl genrsa. Ce guide complet fournit une base solide pour travailler avec les clés RSA dans vos applications Go.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!