Maison > Article > développement back-end > Comment décrypter les clés privées PKCS8 cryptées dans Go et corriger l'erreur « Aucun en-tête DEK-Info dans le bloc » ?
Déchiffrement des clés privées PKCS8 cryptées : résolution de l'erreur « Aucun en-tête DEK-Info dans le bloc »
Dans une tentative de lecture d'un PKCS8 crypté clé privée dans Go, vous pouvez rencontrer l'erreur "x509 : aucun en-tête DEK-Info dans le bloc". Cette erreur résulte d'une limitation inhérente à la bibliothèque standard Go, qui ne dispose pas de fonctionnalités permettant de déchiffrer les clés PKCS8 chiffrées.
Dépannage du problème
Pour vous assurer que vous ne générez pas la clé de manière incorrecte, vérifiez que vos commandes OpenSSL sont les suivantes :
Générer la clé privée :
openssl genrsa -out file.pem -passout pass:file -aes256 1024
Convertir au format PKCS8 :
openssl pkcs8 -topk8 -inform pem -in file.pem -outform pem -out filePKCS8.pem
Solution alternative
Bien que la bibliothèque standard Go ne fournisse pas de prise en charge directe pour le déchiffrement des clés PKCS8 cryptées, vous pouvez utiliser un logiciel externe package tel que :
Ce package offre une fonction spécifiquement conçue pour décrypter les clés PKCS8 cryptées :
func DecryptPrivateKey(block *pem.Block, password []byte) (priv interface{}, err error)
En utilisant ce package, vous pouvez surmonter les limitations de la bibliothèque standard Go et décrypter avec succès les clés privées PKCS8 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!