一般的な操作

Cryptography Module では、データにエラーがないかどうかを確認するためのチェックサムの計算および検証操作が提供されます。これらの操作は、使用されている暗号化戦略から独立しています。

チェックサムの概要

チャックサム操作を使用すると、メッセージの整合性を確保できます。Calculate Checksum 操作は、システムに入力されたメッセージのチェックサムを生成するエンリッチャーとして機能し、Validate Checksum 操作は、システムから出力されるメッセージのチェックサムを確認する検索条件として機能します。入力と出力の値が一致しない場合、​CRYPTO:VALIDATION​ エラーが発生します。

この 1 組の操作により、送信者と受信者間でメッセージが変更されていないことを確認できます。チェックサム操作では暗号化は提供されず、署名がメッセージに追加されることもないため、この操作を他のセキュリティ機能と共に使用できます。

Calculate Checksum

<crypto:calculate-checksum>

提供されたコンテンツまたは値のチェックサムを計算します (式を使用できます)。使用するハッシュアルゴリズムを選択できます。

パラメーター

名前 説明 デフォルト値 必須

Algorithm (アルゴリズム)

Enumeration (列挙)。次のいずれかになります。

  • CRC32

  • MD2

  • MD5

  • SHA_1

  • SHA_256

  • SHA_512

チェックサムアルゴリズム

SHA_256

 

Content (コンテンツ)

Binary (バイナリ)

チェックサムを計算するためのコンテンツ

#[payload]

 

Target Variable (対象変数)

String (文字列)

操作の出力が格納される変数の名前

 

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。その式の結果は対象変数に保存されます。

#[payload]

 

出力型

String (文字列)

スロー

  • CRYPTO:CHECKSUM​  

Validate Checksum

<crypto:validate-checksum>

Calculate Checksum 操作を使用して以前に計算されたチェックサムに対して、コンテンツまたは値のチェックサムを検証します。

パラメーター

名前 説明 デフォルト値 必須

Algorithm (アルゴリズム)

Enumeration (列挙)。次のいずれかになります。

  • CRC32

  • MD2

  • MD5

  • SHA_1

  • SHA_256

  • SHA_512

チェックサムアルゴリズム

SHA_256

 

Binary (バイナリ)

チェックサムを計算するためのコンテンツ

#[payload]

 

Expected (想定)

String (文字列)

16 進数の文字列として想定されるチェックサム

x​ 

スロー

  • CRYPTO:MISSING_KEY​  

  • CRYPTO:VALIDATION​  

ランダム初期化ベクトルの使用の設定

ランダム初期化ベクトル (IV) を使用するには、​[Use random IVs (ランダム IV を使用)]​ 項目を有効化することができます。この項目を有効化すると、復号化アルゴリズムは復号化操作中に IV が暗号テキストの先頭に追加されていると見なします。Anypoint Studio でこの項目を設定する手順は、次のとおりです。

  1. Studio で暗号化モジュール操作 (​Jce sign​ など) をフローにドラッグします。

  2. フローから操作を選択します。

  3. 操作の設定画面で、プラス記号 (+) をクリックして、モジュールのグローバル設定にアクセスします。

  4. [Global Element Properties (グローバル要素のプロパティ)]​ ウィンドウで、​[Use random IVs (ランダム IV を使用)]​ 項目を有効化します。

選択された [Use random IVs (ランダム IV を使用)] 項目

XML エディター​ウィンドウでは、​[Use random IVs (ランダム IV を使用)]​ 項目は次のように表示されます。

crypto:jce-config name="Crypto_Jce" doc:name="Crypto Jce" keystore="/Users/MuleSoft/Desktop/jcekeystore.jks" password="mulesoft" useRandomIVs="true">
		<crypto:jce-key-infos >
			<crypto:jce-symmetric-key-info keyId="key100" alias="jceclient100" password="mulesoft" />
		</crypto:jce-key-infos>
	</crypto:jce-config>