Go で暗号化された PKCS8 秘密キーを復号し、「ブロックに DEK-Info ヘッダーがありません」エラーを修正する方法

Linda Hamilton
リリース: 2024-11-01 09:36:02
オリジナル
245 人が閲覧しました

How to Decrypt Encrypted PKCS8 Private Keys in Go and Fix the

暗号化された PKCS8 秘密キーの復号化: 「ブロックに DEK-Info ヘッダーがありません」エラーを解決する

暗号化された PKCS8 を読み取ろうとしましたGo で秘密キーを使用すると、「x509: no DEK-Info header in block」というエラーが発生する場合があります。このエラーは、暗号化された PKCS8 キーを復号化する機能が欠けている、Go 標準ライブラリ内の固有の制限によって発生します。

問題のトラブルシューティング

生成されていないことを確認するにはキーが間違っている場合は、OpenSSL コマンドが次のようになっていることを確認します:

  1. 秘密キーを生成します:

    openssl genrsa -out file.pem -passout pass:file -aes256 1024
    ログイン後にコピー
  2. PKCS8 形式に変換します:

    openssl pkcs8 -topk8 -inform pem -in file.pem -outform pem -out filePKCS8.pem
    ログイン後にコピー

代替ソリューション

Go 標準ライブラリは暗号化された PKCS8 キーの復号化を直接サポートしていませんが、外部の次のようなパッケージ:

  • github.com/youmark/pkcs8

このパッケージは、暗号化された PKCS8 キーを復号化するために特別に設計された機能を提供します:

func DecryptPrivateKey(block *pem.Block, password []byte) (priv interface{}, err error)
ログイン後にコピー

このパッケージを使用すると、Go 標準ライブラリの制限を克服し、暗号化された PKCS8 秘密キーを正常に復号化できます。

以上がGo で暗号化された PKCS8 秘密キーを復号し、「ブロックに DEK-Info ヘッダーがありません」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!