私は既に1つの公開鍵を使用してファイルを暗号化/復号化することができました。今私は複数の受取人のためにPGPでファイルを暗号化したいと思う。どうすればこれを達成できますか?C#でPGPを使用する複数のレシーバ(BouncyCastle Framework)
PgpEncryptedDataGenerator encryptedDataGenerator = // ...
encryptedDataGenerator.AddMethod(publicKey);
encryptedDataGenerator.Open(outputStream, buffer);
ちょうどAddMethod()
-method複数回使用して他の受信者の公開鍵を追加します:私は似ているよ
PgpEncryptedDataGenerator encryptedDataGenerator = // ...
foreach(PgpPublicKey publicKey in publicKeys){
encryptedDataGenerator.AddMethod(publicKey);
}
encryptedDataGenerator.Open(outputStream, buffer);
(関数名がそれを示唆するように見えるにもかかわらず)それが本当にまっすぐに箱から出したOpenPGPでサポートされていますかどうかわからないんだけど、もう一つの問題は、その後、暗号化ファイルを復号化してあります。最初に追加したPublicKeyの秘密鍵でファイルを復号化すると、私は元のファイルを元に戻します。しかし、2番目に追加された公開鍵の秘密鍵を使用すると、「秘密鍵を復号する」例外が発生します。私がこれらの2つのキーの位置を切り替える場合でも、いくつかの問題を生成するのは、常に第2のキーです... – stromflut