2012-02-29 11 views
3

私は既に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); 

答えて

1

は、私はあなたがこのような何かをやっていると仮定します状況。私は何回か暗号化されたランダムなセッション鍵を自分で作ることに頼ってきました。各ターゲットごとに1つ。すべてがうまくいくにはちょっと面倒です。私は、これは、暗号化のために働くようだ

+2

(関数名がそれを示唆するように見えるにもかかわらず)それが本当にまっすぐに箱から出したOpenPGPでサポートされていますかどうかわからないんだけど、もう一つの問題は、その後、暗号化ファイルを復号化してあります。最初に追加したPublicKeyの秘密鍵でファイルを復号化すると、私は元のファイルを元に戻します。しかし、2番目に追加された公開鍵の秘密鍵を使用すると、「秘密鍵を復号する」例外が発生します。私がこれらの2つのキーの位置を切り替える場合でも、いくつかの問題を生成するのは、常に第2のキーです... – stromflut

関連する問題