Crypt::OpenPGPが GPG でエンコードされたメッセージを復号化できないという問題があります。この問題を抱えたのは私が初めてではないようです。しかし、そのスレッドには解決策が見つかりませんでした。
my $pgp = load_class('Crypt::OpenPGP')->new;
$pgp->handle(
Data => $encrypted,
) or confess $pgp->errstr;
Crypt::OpenPGP は鍵のパスフレーズを正しく要求し、鍵を見つけることに成功しました。パスフレーズが GPG で動作することを確認するためにテストしました。しかし、Crypt::OpenPGP でメッセージを復号化しようとすると、エラーが発生します。
Symkey decrypt failed: Invalid secret key ID
スレッドによると、以下がテストされています
- gpg で暗号化し、gpg で復号化します。
- 期待どおり、正常に動作します
- Crypt::OpenPGP を使用して perl で暗号化し、gpg で復号化します。
- 正常に動作します。
- Crypt::OpenPGP を使用して perl で暗号化し、Crypt::OpenPGP を使用して perl で復号化します。
- 正常に動作します。
- Crypt::OpenPGP を使用して、gpg で暗号化し、perl で復号化します
- 「Symkey の復号化に失敗しました: 秘密鍵 ID が無効です」というメッセージによる失敗。上記の状況です
これらのいくつかをテストしていませんが、これは私自身の観察を反映しているようです。誰かが原因を知っているか、それ以上の修正をしていますか?