Maison >développement back-end >Golang >Comment puis-je rassembler une clé privée PKCS8 dans Go 1.5 ?

Comment puis-je rassembler une clé privée PKCS8 dans Go 1.5 ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-26 13:00:031008parcourir

How can I marshal a PKCS8 private key in Go 1.5?

Marshaling d'une clé privée PKCS8 dans Go 1.5

Dans Go, le package x509 fournit des fonctionnalités pour le marshaling des clés privées PKCS1, mais il n'existe pas de fonction standard pour le marshaling des clés privées PKCS8. clés. Voici une façon de rassembler une clé privée PKCS8 dans Go 1.5 :

Définissez une structure pkcs8Key composée des champs suivants :

  • Version : Entier représentant la version de la clé PKCS8
  • PrivateKeyAlgorithm : tranche d'identifiants d'objet ASN.1 représentant l'algorithme de clé privée
  • PrivateKey : octets représentant la clé privée

Créer une fonction (rsa2pkcs8) pour convertir un RSA clé privée dans une représentation PKCS8 :

  • Définissez le champ Version de pkcs8Key sur 0
  • Définissez le champ PrivateKeyAlgorithm pour refléter l'algorithme souhaité, par exemple, 1, 2, 840, 113549, 1, 1, 1 pour RSA
  • Maréchez la clé privée RSA à l'aide de x509.MarshalPKCS1PrivateKey et attribuez-la au champ PrivateKey
  • Maréchez la structure pkcs8Key à l'aide de asn1.Marshal

En implémentant cette fonction, vous pouvez convertir une clé privée RSA en une représentation PKCS8, vous permettant de travailler avec des clés PKCS8 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!

Déclaration:
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