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

Barbara Streisand
リリース: 2024-11-02 07:56:29
オリジナル
993 人が閲覧しました

How to Decrypt Encrypted PKCS8 Keys in Go:

Go: 暗号化された PKCS8 キーの復号中に「ブロックに DEK-Info ヘッダーがありません」エラー

暗号化された PKCS8 秘密キーを復号しようとしたときGo では、「x509: no DEK-Info header in block」というエラー メッセージが表示される場合があります。このエラーは、提供されたブロックに、キーの復号化に不可欠な必要な DEK-Info ヘッダーが含まれていないことを示します。

問題は、標準の Go ライブラリが復号化するためのネイティブ関数を提供していないという事実にあります。暗号化された PKCS8 キー。これに対処するには、サードパーティのライブラリまたはカスタム コードを利用できます。

暗号化された PKCS8 ファイルを処理できる適切なライブラリは次のとおりです: https://github.com/youmark/pkcs8/blob/master/pkcs8。 go#L103

pkcs8 パッケージをコードに組み込むことにより、次のコード スニペットを使用して、暗号化された PKCS8 秘密キーを正常に復号化できます。

<code class="go">import "github.com/youmark/pkcs8"

func DecryptPKCS8Key(key []byte, password string) ([]byte, error) {
    block, _ := pem.Decode(key)
    return pkcs8.Decrypt(block.Bytes, []byte(password))
}</code>
ログイン後にコピー

このコード スニペットは、 pkcs8 パッケージを使用して、暗号化された PKCS8 キーを復号化します。最初のパラメータはエンコードされたキー データであり、2 番目のパラメータはキーの暗号化に使用されるパスワードです。

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

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