262.4. PGP 署名検証中の署名者 ID の制限
Since Camel 2.12.3.
署名を検証する場合、署名の正確性を検証するだけでなく、署名が特定の ID または特定の ID のセットに由来することも確認する必要があります。したがって、署名の検証に使用できる公開キーリングからの公開鍵の数を制限することができます。
署名ユーザー ID
// specify the User IDs of the expected signer identities List<String> expectedSigUserIds = new ArrayList<String>(); expectedSigUserIds.add("Trusted company1"); expectedSigUserIds.add("Trusted company2"); PGPDataFormat pgpVerifyWithSpecificKeysAndDecrypt = new PGPDataFormat(); pgpVerifyWithSpecificKeysAndDecrypt.setPassword("my password"); // for decrypting with private key pgpVerifyWithSpecificKeysAndDecrypt.setKeyFileName(keyfileName); pgpVerifyWithSpecificKeysAndDecrypt.setSignatureKeyFileName(signatgureKeyfileName); pgpVerifyWithSpecificKeysAndDecrypt.setSignatureKeyUserids(expectedSigUserIds); // if you have only one signer identity then you can also use setSignatureKeyUserid("expected Signer") from("direct:start") ... .unmarshal(pgpVerifyWithSpecificKeysAndDecrypt) ...
- PGP コンテンツに複数の署名がある場合、1 つの署名が検証されるとすぐに検証が成功します。
- 検証のために署名者 ID を制限したくない場合は、署名鍵のユーザー ID を指定しないでください。この場合、公開キーリング内のすべての公開鍵が考慮されます。