Maison > développement back-end > Golang > Comment lire une clé RSA à partir d'un fichier pour la signature JWT ?

Comment lire une clé RSA à partir d'un fichier pour la signature JWT ?

Linda Hamilton
Libérer: 2024-11-08 06:53:02
original
453 Les gens l'ont consulté

How to Read an RSA Key from a File for JWT Signing?

Comment lire une clé RSA à partir d'un fichier

Pour utiliser une clé privée RSA pour signer des JWT, vous devez l'extraire d'un fichier . Cet article vous guidera tout au long du processus de construction d'une structure de clé à partir d'une clé pré-générée dans un fichier.

Génération d'une clé RSA

L'exemple de clé fourni dans la question est générée à l'aide de la commande suivante :

openssl genrsa 2048 | openssl pkcs8 -topk8 -nocrypt
Copier après la connexion

Lecture de la clé RSA depuis Fichier

Pour lire la clé du fichier, vous pouvez utiliser la combinaison suivante de pem.Decode et x509.ParsePKCS1PrivateKey :

package main

import (
    "crypto/x509"
    "encoding/pem"
    "fmt"
)

func main() {
    // Replace `pemString` with the actual contents of your key file.
    pemString := `-----BEGIN RSA PRIVATE KEY-----
...`

    block, _ := pem.Decode([]byte(pemString))
    key, _ := x509.ParsePKCS1PrivateKey(block.Bytes)
    fmt.Println(key.N) // This prints the key's modulus.
}
Copier après la connexion

Alternative pour PKCS#8 Clés codées

Si vous avez un code PKCS#8 clé, vous pouvez la lire en utilisant x509.ParsePKCS8PrivateKey :

func main() {
    pemString := `-----BEGIN PRIVATE KEY-----
...`

    block, _ := pem.Decode([]byte(pemString))
    parseResult, _ := x509.ParsePKCS8PrivateKey(block.Bytes)
    key := parseResult.(*rsa.PrivateKey)
    fmt.Println(key.N) // This prints the key's modulus.
}
Copier après la connexion

Ces solutions vous permettent d'accéder à une clé privée RSA à partir d'un fichier et de l'utiliser pour signer des JWT ou effectuer d'autres opérations cryptographiques.

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