Heim > Backend-Entwicklung > Golang > Wie erstelle ich RSA-Schlüsselpaare in Go und schreibe sie in separate Dateien?

Wie erstelle ich RSA-Schlüsselpaare in Go und schreibe sie in separate Dateien?

Barbara Streisand
Freigeben: 2024-12-16 13:35:10
Original
415 Leute haben es durchsucht

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

Generieren von RSA-Schlüsseln in Go Like openssl genrsa

Übersicht

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.

Schritt-für-Schritt-Anleitung

1. Notwendige Bibliotheken importieren

import (
    "crypto/rand"
    "crypto/rsa"
    "crypto/x509"
    "encoding/pem"
    "io/ioutil"
)
Nach dem Login kopieren

2. Schlüsselpaar generieren

filename := "key"
bitSize := 4096

// Generate RSA keypair
key, err := rsa.GenerateKey(rand.Reader, bitSize)
Nach dem Login kopieren

3. Öffentliche Komponente extrahieren

pub := key.Public()
Nach dem Login kopieren

4. In PEM kodieren

// 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)),
    },
)
Nach dem Login kopieren

5. In Dateien schreiben

// 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)
}
Nach dem Login kopieren

Fazit

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage