Maison > développement back-end > Golang > le corps du texte

Comment décrypter les clés privées PKCS8 cryptées en Go : résoudre l'erreur « Aucun en-tête DEK-Info »

Susan Sarandon
Libérer: 2024-10-31 08:25:17
original
176 Les gens l'ont consulté

How to Decrypt Encrypted PKCS8 Private Keys in Go: Solving the 'No DEK-Info Header' Error

"Déchiffrement des clés privées PKCS8 chiffrées en Go : résolution du problème "Pas d'en-tête DEK-Info""

En cryptographie, sécurisation des clés privées est crucial. Un format courant pour stocker les clés privées chiffrées est PKCS8. Lorsqu'ils tentent de lire de telles clés dans Go, les utilisateurs peuvent rencontrer une erreur indiquant « aucun en-tête DEK-Info dans le bloc ». Voici comment résoudre ce problème.

La bibliothèque Go standard ne dispose pas d'une fonction intégrée pour déchiffrer les clés PKCS8. Pour résoudre ce problème, on peut utiliser des bibliothèques tierces telles que le package "pkcs8" (https://github.com/youmark/pkcs8/blob/master/pkcs8.go#L103).

Utilisation du fourni le package "pkcs8", le déchiffrement d'une clé PKCS8 cryptée devient simple. Voici un extrait de code démontrant son utilisation :

<code class="go">import (
    "github.com/youmark/pkcs8"
    "golang.org/x/crypto/pkcs12"
)

func DecryptKey(keyBytes []byte, password string) (*pkcs12.PrivateKey, error) {
    block, _ := pem.Decode(keyBytes)
    return pkcs8.DecryptPrivateKey(block.Bytes, []byte(password))
}</code>
Copier après la connexion

Dans ce code, la fonction DecryptPrivateKey du package "pkcs8" est utilisée pour déchiffrer la clé à l'aide du mot de passe fourni. La clé déchiffrée est ensuite renvoyée sous forme d'instance PrivateKey.

En intégrant cette solution, les développeurs peuvent lire et déchiffrer efficacement les clés privées PKCS8 cryptées dans Go, garantissant ainsi un accès sécurisé aux données cryptées.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!