「Go での暗号化された PKCS8 秘密鍵の復号化: 「DEK-Info ヘッダーがない」問題の解決」
暗号化における秘密鍵の保護重要です。暗号化された秘密キーを保存するための一般的な形式の 1 つは PKCS8 です。 Go でそのようなキーを読み取ろうとすると、「ブロックに 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" "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>
このコードでは、「pkcs8」パッケージの DecryptPrivateKey 関数を利用して、指定されたパスワードを使用してキーを復号化します。復号化されたキーは PrivateKey インスタンスとして返されます。
このソリューションを統合することで、開発者は Go で暗号化された PKCS8 秘密キーを効率的に読み取り、復号化し、暗号化されたデータへの安全なアクセスを確保できます。
以上がGo で暗号化された PKCS8 秘密キーを復号する方法: 「No DEK-Info Header」エラーの解決の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。