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 サイトの他の関連記事を参照してください。