4

ファイルをPGP暗号化して、FTP経由でサードパーティに送信する必要があります。ファイルはサードパーティのDH/DSS公開鍵で暗号化され、私たちの秘密鍵で署名されています。

サードパーティは、公開鍵と独自の秘密鍵を持っています。暗号化/復号化は機能しますが、サードパーティが署名を検証しようとすると警告が表示されます。

PGP Desktopを使用して同様に暗号化されたファイルを復号化して検証しようとすると、ファイルは警告なしに検証されます。

サードパーティは「McAfeeE-BusinessServer」を使用しています

正確な警告は次のとおりです。警告:署名が正しくありません。ファイルの内容と一致しません。ユーザー「usersname」からの不正な署名

コードは少し複雑ですが、ブログに投稿しました。より適切な場合は、リンクの代わりにここに投稿できます。

この問題を解決する方法についての洞察をいただければ幸いです。

4

1 に答える 1

2

問題の詳細について完全に説明することはできませんが、ここでうまくいく解決策があります。まず第一に、さまざまなPGP実装は、使用中のキーを生成するためにどのプログラムが使用されたかに非常に敏感であるように思われます。

失敗したシナリオ:

  1. PGP Desktopでキーを作成する(RSA v4、2048 / 2048)
  2. BouncyCastleで暗号化(DH / DSS、Elgamal)
  3. BouncyCastleにサインインします(RSAキーを使用)
  4. PGPDesktopでの復号化と署名検証の成功。
  5. 復号化は成功しましたが、McAfeeBusinessServerで署名の検証が失敗しました。

McAfee Business Serverがキーの検証に成功するには、BouncyCastleソースコードのコードを使用してBouncyCastleにキーを作成します。(Org.BouncyCastle.Bcp​​g.OpenPgp.Examples.RsaKeyRingGenerator)特定のキーが必要な場合は、このコードを変更できます。プロパティ。

もう1つの方法は、McAfeeBusinessServerを使用してキーを生成することです。そのためには、ソフトウェアにアクセスする必要があります。試用版でテストを行いました。(ちなみに、立ち上がって走るのは首の痛みでした)

更新:すべてのテストをE-Business Server 8.5.3(試用版)で実行しました。Bountyで暗号化してサインインし、E-BusinessServerで復号化して検証できるようになりました。サードパーティが署名の検証を拒否したE-BusinessServer7.0を使用していることが判明しました。すべてを機能させるには、V3署名を作成する必要がありました。

から変更しました:

PgpSignatureGenerator pgpSignatureGenerator = new PgpSignatureGenerator(m_encryptionKeys.SecretKey.PublicKey.Algorithm, HashAlgorithmTag.Sha1);

PgpV3SignatureGenerator pgpV3SignatureGenerator = new PgpV3SignatureGenerator(m_encryptionKeys.SecretKey.PublicKey.Algorithm, HashAlgorithmTag.Sha1);
于 2009-02-09T07:25:57.287 に答える