第262章 PGP DataFormat

Camel バージョン 2.9 以降で利用可能

PGP データフォーマットは、Java 暗号化拡張機能を Camel に統合し、Camel の使い慣れたマーシャルおよびアンマーシャルフォーマットメカニズムを使用して、メッセージのシンプルかつ柔軟な暗号化と復号化を可能にします。マーシャリングは暗号文への暗号化を意味し、アンマーシャリングは元の平文への復号化を意味すると想定しています。このデータ形式は、対称 (共有キー) 暗号化と復号化のみを実装します。

262.1. PGPDataFormat オプション

PGP データ形式は、以下にリストされている 15 個のオプションをサポートしています。

名前デフォルトJava タイプ説明

keyUserid

 

String

暗号化中に使用される PGP キーリング内のキーのユーザー ID。ユーザー ID の一部のみにすることもできます。たとえば、ユーザー ID が Test User の場合、Test User または部分を使用してユーザー ID を指定できます。

signatureKeyUserid

 

String

署名 (暗号化中) または署名検証 (復号化中) に使用される PGP キーリング内のキーのユーザー ID。署名検証プロセス中、指定されたユーザー ID は、検証に使用できる公開キーリングからの公開鍵を制限します。署名の検証にユーザー ID が指定されていない場合は、公開キーリング内の任意の公開鍵を検証に使用できます。ユーザー ID の一部のみにすることもできます。たとえば、ユーザー ID が Test User の場合、Test User の部分を使用したり、ユーザー ID をアドレス指定したりできます。

password

 

String

秘密鍵を開くときに使用されるパスワード (暗号化には使用されません)。

signaturePassword

 

String

署名に使用する秘密鍵を開くとき (暗号化時) に使用するパスワード。

keyFileName

 

String

キーリングのファイル名。クラスパスリソースとしてアクセスできる必要があります (ただし、file: 接頭辞を使用してファイルシステム内のロケーションを指定できます)。

signatureKeyFileName

 

String

署名 (暗号化中) または署名検証 (復号化中) に使用するキーリングのファイル名。クラスパスリソースとしてアクセスできる必要があります (ただし、file: 接頭辞を使用してファイルシステム内のロケーションを指定できます)。

signatureKeyRing

 

String

バイト配列としての署名/検証に使用されるキーリング。signatureKeyFileName と signatureKeyRing を同時に設定することはできません。

armored

false

Boolean

このオプションにより、PGP は暗号化されたテキストを base64 でエンコードし、コピー/貼り付けなどに使用できるようにします。

integrity

true

Boolean

整合性チェック/署名を暗号化ファイルに追加します。デフォルト値は true です。

provider

 

String

Java Cryptography Extension (JCE) プロバイダー。デフォルトは Bouncy Castle (BC) です。あるいは、IAIK JCE プロバイダーなどを使用することもできます。この場合、プロバイダーは事前に登録する必要があり、Bouncy Castle プロバイダーは事前に登録しないでください。Sun JCE プロバイダーが機能しません。

algorithm

 

Integer

対称鍵暗号化アルゴリズム。可能な値は org.bouncycastle.bcpg.SymmetricKeyAlgorithmTags で定義されています。たとえば、2 (= TRIPLE DES)、3 (= CAST5)、4 (= BLOWFISH)、6 (= DES)、7 (= AES_128) です。暗号化にのみ関連します。

compressionAlgorithm

 

Integer

圧縮アルゴリズム;可能な値は org.bouncycastle.bcpg.CompressionAlgorithmTags で定義されています。たとえば、0 (= 非圧縮)、1 (= ZIP)、2 (= ZLIB)、3 (= BZIP2) です。暗号化にのみ関連します。

hashAlgorithm

 

Integer

署名ハッシュアルゴリズム。可能な値は org.bouncycastle.bcpg.HashAlgorithmTags で定義されています。たとえば、2 (= SHA1)、8 (= SHA256)、9 (= SHA384)、10 (= SHA512)、11 (=SHA224) です。署名にのみ関連します。

signatureVerificationOption

 

String

アンマーシャリング中に署名を検証するための動作を制御します。設定可能な値は 4 つあります。オプション: PGP メッセージには署名が含まれる場合と含まれない場合があります。署名が含まれている場合は、署名の検証が実行されます。必須: PGP メッセージには少なくとも 1 つの署名が含まれている必要があります。そうでない場合は、例外 (PGPException) が出力されます。署名検証が実行されます。ignore: PGP メッセージに含まれる署名は無視されます。署名の検証は実行されません。no_signature_allowed: PGP メッセージに署名を含めることはできません。それ以外の場合は、例外 (PGPException) が出力されます。

contentTypeHeader

false

Boolean

データフォーマットがデータ形式を実行できる場合は、データフォーマットの型で Content-Type ヘッダーを設定するかどうか。たとえば、XML にマーシャリングするデータ形式の場合は application/xml、JSON にマーシャリングするデータ形式の場合は JSon です。