Maison > développement back-end > Golang > Comment générer des paires de clés RSA dans Go et les écrire dans des fichiers séparés ?

Comment générer des paires de clés RSA dans Go et les écrire dans des fichiers séparés ?

Barbara Streisand
Libérer: 2024-12-16 13:35:10
original
418 Les gens l'ont consulté

How to Generate RSA Key Pairs in Go and Write Them to Separate Files?

Génération de clés RSA dans Go Like openssl genrsa

Présentation

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.

Guide étape par étape

1. Importer les bibliothèques nécessaires

import (
    "crypto/rand"
    "crypto/rsa"
    "crypto/x509"
    "encoding/pem"
    "io/ioutil"
)
Copier après la connexion

2. Générer une paire de clés

filename := "key"
bitSize := 4096

// Generate RSA keypair
key, err := rsa.GenerateKey(rand.Reader, bitSize)
Copier après la connexion

3. Extraire le composant public

pub := key.Public()
Copier après la connexion

4. Encoder en PEM

// 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)),
    },
)
Copier après la connexion

5. Écrire dans les fichiers

// 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)
}
Copier après la connexion

Conclusion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal