検索

第72章 crypto CMS コンポーネント

download PDF

Camel バージョン 2.20 で利用可能

暗号化メッセージ構文(CMS) は、メッセージの署名および暗号化に適切に確立された標準です。Apache Crypto CMS コンポーネントは、この規格の以下の部分をサポートします。* Content Type "Enveloped Data" with Key Transport(asymmetric key)、* Content Type "Signed Data"CMS Enveloped Data インスタンスを作成し、CMS Enveloped Data インスタンスを復号化し、CMS 署名データインスタンスを作成して、CMS 署名データインスタンスを検証できます。

コンポーネントは Bouncy Castle ライブラリー bcprov-jdk15on および bcpkix-jdk15on を使用します。

Maven ユーザーは、このコンポーネントの pom.xml に以下の依存関係を追加する必要があります。

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-crypto-cms</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

このコンポーネントのエンドポイントを呼び出す前に、アプリケーションに Bouncy Castle セキュリティープロバイダーを登録することが推奨されます。

Security.addProvider(new BouncyCastleProvider());

Bouncy Castle セキュリティープロバイダーが登録されていない場合は、Crypto CMS コンポーネントはプロバイダーを登録します。

72.1. オプション

Crypto CMS コンポーネントは、以下に示す 3 つのオプションをサポートします。

Name説明デフォルトType

signedDataVerifier Configuration (advanced)

検証操作の uri パラメーターを決定する shared SignedDataVerifierConfiguration を設定します。

 

SignedDataVerifier Configuration

envelopedDataDecryptor Configuration (advanced)

共有 EnvelopedDataDecryptorConfiguration を設定するには、復号化操作の uri パラメーターを決定します。

 

EnvelopedDataDecryptor 設定

resolveProperty Placeholders (advanced)

起動時にコンポーネント自体がプロパティープレースホルダーを解決するかどうか。String タイプのプロパティーのみがプロパティープレースホルダーを使用できます。

true

boolean

Crypto CMS エンドポイントは、URI 構文を使用して設定します。

crypto-cms:cryptoOperation:name

以下の path パラメーターおよびクエリーパラメーターを使用します。

72.1.1. パスパラメーター(2 パラメーター):

Name説明デフォルトType

cryptoOperation

required Set the Crypto operation from that provided after the crypto scheme in the endpoint uri(たとえば crypto-cms:sign は署名を操作として設定します)。使用できる値は、Sign、verify、crypting、または decrypt です。

 

CryptoOperation

name

必須: URI の name 部分を選択して、camel コンテキスト内の異なる署名者/検証者/暗号化/暗号エンドポイント間を区別できます。

 

文字列

72.1.2. クエリーパラメーター(15 パラメーター):

Name説明デフォルトType

keyStore (common)

署名側の秘密鍵、検証元公開鍵、公開鍵、公開鍵、操作に応じて復号化する秘密鍵が含まれるキーストア。このパラメーターまたはパラメーター「keyStoreParameters」を使用します。

 

KeyStore

keyStoreParameters (common)

操作に応じて、署名側の秘密鍵、検証公開鍵、公開鍵の暗号化、秘密鍵、秘密鍵の復号化が含まれるキーストア。このパラメーターまたはパラメーター「keystore」を使用します。

 

KeyStoreParameters

同期 (詳細)

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

boolean

パスワード (暗号解除)

秘密鍵のパスワードを設定します。キーストアのすべての秘密鍵に同じパスワードがあることを前提とします。設定されていない場合は、KeyStoreParameters で指定されたキーストアパスワードによって秘密鍵のパスワードが指定されていることが想定されます。

 

char[]

fromBase64 (decrypt_verify)

true の場合、CMS メッセージはベース 64 でエンコードされ、処理中にデコードする必要があります。デフォルト値は false です。

false

ブール値

contentEncryptionAlgorithm (encrypt)

暗号化アルゴリズム(DESede/CBC/PKCS5Padding など)。その他の可能な値: DESede/CBC/PKCS5Padding、AES/CBC/PKCS5Padding、Camellia/CBC/PKCS5Padding、CAST5/CBC/PKCS5Padding

 

文字列

originatorInformation Provider (encrypt)

originator 情報のプロバイダー。See https://tools.ietf.org/html/rfc5652section-6.1.デフォルト値は null です。

 

OriginatorInformation Provider

Recipient (encrypt)

Recipient Info: インターフェース org.apache.camel.component.crypto.cms.api.TransRecipientInfo を実装する Bean への参照

 

リスト

secretKeyLength (encrypt)

コンテンツの暗号化に使用される秘密対称鍵のキーの長さ。指定した content-encryption アルゴリズムで異なるサイズの鍵が許可されている場合にのみ使用します。contentEncryptionAlgorithm=AES/CBC/PKCS5Padding または Camellia/CBC/PKCS5Padding または 128; contentEncryptionAlgorithm=DESede/CBC/PKCS5Padding 場合は、192、128 です。強力な暗号化が有効な場合は、AES/CBC/PKCS5Padding および Camellia/CBC/PKCS5Padding もキーの長さ 192 および 256 を追加できます。

 

int

unprotectedAttributes GeneratorProvider (encrypt)

保護されていない属性のジェネレーターのプロバイダー。デフォルト値は null で、保護されていない属性が Enveloped Data オブジェクトに追加されないことを意味します。See https://tools.ietf.org/html/rfc5652section-6.1.

 

AttributesGenerator Provider

toBase64 (encrypt_sign)

Signed Data インスタンスまたは Enveloped Data インスタンスがベース 64 エンコードされているかどうかを示します。デフォルト値は false です。

false

ブール値

includeContent (sign)

署名済みコンテンツを Signed Data インスタンスに含めるかどうかを示します。false の場合、デタッチされた Signed Data インスタンスがヘッダー CamelCryptoCmsSignedData に作成されます。

true

ブール値

署名側の(署名

署名側の情報: org.apache.camel.component.crypto.cms.api.SignerInfo を実装する Bean への参照

 

リスト

signedDataHeaderBase64 (verify)

ヘッダー CamelCryptoCmsSignedData の値が base64 でエンコードされるかどうかを示します。デフォルト値は false です。デタッチされた署名にのみ関連します。デタッチされた署名の場合、ヘッダーに Signed Data オブジェクトが含まれます。

false

ブール値

verifySignaturesOfAll Signers (verify)

true の場合、Signed Data オブジェクトに含まれるすべての署名者の署名が検証されます。false の場合、署名側の情報が指定された証明書のいずれかに一致する署名 1 つのみが検証されます。デフォルト値は true です。

true

ブール値

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.