Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerJCE 戦略では、Java Cryptography Extension によって提供される広範な暗号化機能を使用できます。
暗号化機能は、次の 2 つの方法で使用できます。
パスワードベースの暗号化 (PBE):
この方法を使用すると、暗号化パスワードのみを指定してコンテンツの暗号化と署名ができます。
キーベースの暗号化:
PGP および XML 暗号化のしくみと似ていますが、この方法では、対称キーまたは非対称キーを設定して、暗号化および署名操作を実行できます。
これらの 2 つの方法を使用して、メッセージのすべて、または一部を暗号化できます。
この方法では、指定されたパスワードにハッシュ関数を適用して、標準暗号化アルゴリズムと互換性のある対称キーを生成します。PBE で必要なのはパスワードのみであるため、PBE 操作にはグローバル設定要素は必要ありません。
Anypoint Studio から PBE を設定するには、次の手順に従います。
[Mule Palette (Mule パレット)] から、[Crypto (暗号化)] をプロジェクトに追加します。
手順は、「拡張機能のインストール」を参照してください。
目的の操作を選択し、コンポーネントをフローにドラッグします。
コンポーネントビューで、[Algorithm (アルゴリズム)] および [Password (パスワード)] プロパティを設定します。
以下は、各 PBE 操作の XML の例です。
PBE 暗号化
<crypto:jce-encrypt-pbe password="a-Sup3r_Secure-Passw0rd"/>
アルゴリズムを指定しない場合、PBEWithHmacSHA256AndAES_128
が使用されます。
PBE 復号化
<crypto:jce-decrypt-pbe algorithm="PBEWithHmacSHA256AndAES_128" password="a-Sup3r_Secure-Passw0rd"/>
PBE 署名
<crypto:jce-sign-pbe password="a-Sup3r_Secure-Passw0rd"/>
アルゴリズムを指定しない場合、PBEWithHmacSHA256
が使用されます。
PBE 署名検証
<crypto:jce-validate-pbe password="a-Sup3r_Secure-Passw0rd" algorithm="PBEWithHmacSHA256" expected="#[vars.expectedSignature]"/>
expected
パラメーターでは、メッセージを検証するために使用される署名を定義します。
対称キーまたは非対称キーを設定して、暗号化および署名操作を実行します。
Anypoint Studio からキーベースの暗号化操作を設定するには、次の手順に従います。
[Mule Palette (Mule パレット)] から、[Crypto (暗号化)] をプロジェクトに追加します。
手順は、「拡張機能のインストール」を参照してください。
目的の操作を選択し、コンポーネントをフローにドラッグします。
コンポーネントプロパティを開いて、既存のモジュール設定を選択するか、[Keystore (キーストア)]、[Type (種別)] (JKS、JCEKS、PKCS12)、および [Password (パスワード)] の値を指定して新しいモジュール設定を作成します。
署名操作で使用する対称キーまたは非対称キーの情報を追加することもできます。
モジュール設定で以前定義した [Key id (キー ID)] 値を使用して [Key selection (キー選択)] を設定するか、この操作用に新しく定義します。
操作中に使用するアルゴリズムを選択します。
次の XML の例は、対称キーと非対称キー、およびそれらのキーを使用するさまざまな操作を定義する JCE 設定を示しています。
Configuration (設定)
この例では、JCE 設定で異なる種別のキーがあるキーストアが定義されています。
<crypto:jce-config name="jceConfig" keystore="jce/keys.jceks" password="123456" type="JCEKS">
<crypto:jce-key-infos>
<crypto:jce-symmetric-key-info keyId="aes128" alias="aes128" password="123456"/>
<crypto:jce-symmetric-key-info keyId="blowfish" alias="blowfish" password="123456"/>
<crypto:jce-symmetric-key-info keyId="hmacsha256" alias="hmacsha256" password="123456"/>
<crypto:jce-asymmetric-key-info keyId="rsa" alias="myrsakey" password="123456"/>
<crypto:jce-asymmetric-key-info keyId="dsa" alias="mydsakey" password="123456"/>
</crypto:jce-key-infos>
</crypto:jce-config>
非対称暗号化
次の操作の例では、前の設定で定義した非対称キーを使用します。
<crypto:jce-encrypt config-ref="jceConfig" keyId="rsa" algorithm="RSA"/>
<crypto:jce-decrypt config-ref="jceConfig" keyId="rsa" algorithm="RSA"/>
対称暗号化
次の操作の例では、前の設定で定義した対称キーを使用します。
<crypto:jce-encrypt config-ref="jceConfig" keyId="aes128" algorithm="AES"/>
<crypto:jce-decrypt config-ref="jceConfig" keyId="aes128" algorithm="AES"/>
署名および検証
次の署名および検証操作の例では、前の設定で定義したキーを使用します。
<crypto:jce-sign config-ref="jceConfig" keyId="dsa" algorithm="SHA256withDSA"/>
<crypto:jce-validate config-ref="jceConfig" keyId="dsa" algorithm="SHA256withDSA" expected="#[vars.expectedSignature]"/>
expected
パラメーターでは、メッセージを検証するために使用される署名を定義します。
Java キーストアのインラインキーの JCE 設定。
名前 | 型 | 説明 | デフォルト値 | 必須 |
---|---|---|---|---|
Name (名前) |
String (文字列) |
この設定の名前。コネクタはこの名前の設定を参照します。 |
x |
|
Keystore (キーストア) |
String (文字列) |
キーストアファイルへのパス。 |
|
|
Type (種別) |
Enumeration (列挙)。次のいずれかになります。
|
キーストアの種別。 |
|
|
Password (パスワード) |
String (文字列) |
キーストアのロックを解除するパスワード。 |
|
|
Jce Key Infos (JCE キー情報) |
Array (配列)。次のいずれかになります。 |
対象となるキーのリスト。これらの参照には内部 ID が使用されます。 |
|
|
Expiration Policy (有効期限ポリシー) |
動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Runtime で期限切れに相当するとみなされます。これは、対象になった瞬間にプラットフォームでインスタンスの有効期限が切れるという意味ではありません。ランタイムによって適切と判断されたときに、インスタンスが実際にパージされます。 |
|
<crypto:jce-decrypt>
JCE を使用してキーでストリームを復号化します。
名前 | 型 | 説明 | デフォルト値 | 必須 |
---|---|---|---|---|
Configuration (設定) |
String (文字列) |
使用する設定の名前。 |
x |
|
Content (コンテンツ) |
Binary (バイナリ) |
DataWeave 式を使用して、すべて、または一部のメッセージを復号化できます。 |
|
|
Output Mime Type (出力 MIME タイプ) |
String (文字列) |
この操作で出力されるペイロードの MIME タイプ。 |
|
|
Output Encoding (出力エンコード) |
String (文字列) |
この操作で出力されるペイロードのエンコード。 |
|
|
Streaming Strategy (ストリーミング戦略) |
|
反復可能ストリームを使用すべきかどうか、およびその動作を設定します。 |
|
|
Cipher (暗号化) |
String (文字列) |
Java 暗号化ドキュメントに準拠する「アルゴリズム/モード/パディング」形式の未加工の暗号化文字列 ( |
|
|
Algorithm (アルゴリズム) |
Enumeration (列挙)。次のいずれかになります。
|
一連の有効な定義のアルゴリズム。この項目を指定すると、次のリストに従って使用するモードとパディングが自動的に選択されます。
|
|
|
Key Id (キー ID) |
String (文字列) |
JCE 設定で定義されるキー ID。 |
|
|
Jce Key Info (JCE キー情報) |
インラインキー定義。 |
|
||
Target Variable (対象変数) |
String (文字列) |
操作の出力が格納される変数の名前 |
|
|
Target Value (対象値) |
String (文字列) |
操作の出力に対して評価される式。その式の結果は対象変数に保存されます。 |
|
|
<crypto:jce-encrypt>
JCE を使用してキーでストリームを暗号化します。
名前 | 型 | 説明 | デフォルト値 | 必須 |
---|---|---|---|---|
Configuration (設定) |
String (文字列) |
使用する設定の名前。 |
x |
|
Content (コンテンツ) |
Binary (バイナリ) |
DataWeave 式を使用して、すべて、または一部のメッセージを暗号化できます。 |
|
|
Output Mime Type (出力 MIME タイプ) |
String (文字列) |
この操作で出力されるペイロードの MIME タイプ。 |
|
|
Output Encoding (出力エンコード) |
String (文字列) |
この操作で出力されるペイロードのエンコード。 |
|
|
Streaming Strategy (ストリーミング戦略) |
|
反復可能ストリームを使用すべきかどうか、およびその動作を設定します。 |
|
|
Cipher (暗号化) |
String (文字列) |
Java 暗号化ドキュメントに準拠する「アルゴリズム/モード/パディング」形式の未加工の暗号化文字列 ( |
|
|
Algorithm (アルゴリズム) |
Enumeration (列挙)。次のいずれかになります。
|
一連の有効な定義のアルゴリズム。この項目を指定すると、次のリストに従って使用するモードとパディングが自動的に選択されます。
|
|
|
Key Id (キー ID) |
String (文字列) |
JCE 設定で定義されるキー ID。 |
|
|
Jce Key Info (JCE キー情報) |
インラインキー定義。 |
|
||
Target Variable (対象変数) |
String (文字列) |
操作の出力が格納される変数の名前 |
|
|
Target Value (対象値) |
String (文字列) |
操作の出力に対して評価される式。その式の結果は対象変数に保存されます。 |
|
|
<crypto:jce-sign>
JCE を使用してキーでストリームに署名します。
名前 | 型 | 説明 | デフォルト値 | 必須 |
---|---|---|---|---|
Configuration (設定) |
String (文字列) |
使用する設定の名前。 |
x |
|
Content (コンテンツ) |
Binary (バイナリ) |
署名するコンテンツ |
|
|
Algorithm (アルゴリズム) |
Enumeration (列挙)。次のいずれかになります。
|
署名に使用されるアルゴリズム |
|
|
Output Mime Type (出力 MIME タイプ) |
String (文字列) |
この操作で出力されるペイロードの MIME タイプ。 |
|
|
Key Id (キー ID) |
String (文字列) |
JCE 設定で定義されるキー ID。 |
|
|
Jce Key Info (JCE キー情報) |
インラインキー定義。 |
|
||
Target Variable (対象変数) |
String (文字列) |
操作の出力が格納される変数の名前 |
|
|
Target Value (対象値) |
String (文字列) |
操作の出力に対して評価される式。その式の結果は対象変数に保存されます。 |
|
|
<crypto:jce-validate>
キーを使用して署名に対してストリームを検証します。
名前 | 型 | 説明 | デフォルト値 | 必須 |
---|---|---|---|---|
Configuration (設定) |
String (文字列) |
使用する設定の名前。 |
x |
|
Value (値) |
Binary (バイナリ) |
認証するメッセージ |
|
|
Expected (想定) |
String (文字列) |
検証する署名 |
x |
|
Algorithm (アルゴリズム) |
Enumeration (列挙)。次のいずれかになります。
|
署名に使用されるアルゴリズム |
|
|
Key Id (キー ID) |
String (文字列) |
JCE 設定で定義されるキー ID。 |
|
|
Jce Key Info (JCE キー情報) |
インラインキー定義。 |
|
<crypto:jce-decrypt-pbe>
JCE を使用してパスワードでストリームを復号化します。
名前 | 型 | 説明 | デフォルト値 | 必須 |
---|---|---|---|---|
Content (コンテンツ) |
Binary (バイナリ) |
DataWeave 式を使用して、すべて、または一部のメッセージを復号化できます。 |
|
|
Algorithm (アルゴリズム) |
Enumeration (列挙)。次のいずれかになります。
|
パスワードからキーを生成するためのアルゴリズム |
|
|
Password (パスワード) |
String (文字列) |
復号化のパスワード |
x |
|
Output Mime Type (出力 MIME タイプ) |
String (文字列) |
この操作で出力されるペイロードの MIME タイプ。 |
|
|
Output Encoding (出力エンコード) |
String (文字列) |
この操作で出力されるペイロードのエンコード。 |
|
|
Streaming Strategy (ストリーミング戦略) |
|
反復可能ストリームを使用すべきかどうか、およびその動作を設定します。 |
|
|
Target Variable (対象変数) |
String (文字列) |
操作の出力が格納される変数の名前 |
|
|
Target Value (対象値) |
String (文字列) |
操作の出力に対して評価される式。その式の結果は対象変数に保存されます。 |
|
|
<crypto:jce-encrypt-pbe>
JCE を使用してパスワードでストリームを暗号化します。
名前 | 型 | 説明 | デフォルト値 | 必須 |
---|---|---|---|---|
Content (コンテンツ) |
Binary (バイナリ) |
DataWeave 式を使用して、すべて、または一部のメッセージを暗号化できます。 |
|
|
Algorithm (アルゴリズム) |
Enumeration (列挙)。次のいずれかになります。
|
パスワードからキーを生成するためのアルゴリズム |
|
|
Password (パスワード) |
String (文字列) |
暗号化のパスワード |
x |
|
Output Mime Type (出力 MIME タイプ) |
String (文字列) |
この操作で出力されるペイロードの MIME タイプ。 |
|
|
Output Encoding (出力エンコード) |
String (文字列) |
この操作で出力されるペイロードのエンコード。 |
|
|
Streaming Strategy (ストリーミング戦略) |
|
反復可能ストリームを使用すべきかどうか、およびその動作を設定します。 |
|
|
Target Variable (対象変数) |
String (文字列) |
操作の出力が格納される変数の名前 |
|
|
Target Value (対象値) |
String (文字列) |
操作の出力に対して評価される式。その式の結果は対象変数に保存されます。 |
|
|
<crypto:jce-sign-pbe>
JCE を使用してキーでストリームに署名します。
名前 | 型 | 説明 | デフォルト値 | 必須 |
---|---|---|---|---|
Content (コンテンツ) |
Binary (バイナリ) |
署名するコンテンツ |
|
|
Algorithm (アルゴリズム) |
Enumeration (列挙)。次のいずれかになります。
|
署名に使用されるアルゴリズム |
|
|
Password (パスワード) |
String (文字列) |
署名に使用されるパスワード |
x |
|
Output Mime Type (出力 MIME タイプ) |
String (文字列) |
この操作で出力されるペイロードの MIME タイプ。 |
|
|
Target Variable (対象変数) |
String (文字列) |
操作の出力が格納される変数の名前 |
|
|
Target Value (対象値) |
String (文字列) |
操作の出力に対して評価される式。その式の結果は対象変数に保存されます。 |
|
|
<crypto:jce-validate-pbe>
キーを使用して署名に対してストリームを検証します。
名前 | 型 | 説明 | デフォルト値 | 必須 |
---|---|---|---|---|
Value (値) |
Binary (バイナリ) |
認証するメッセージ |
|
|
Expected (想定) |
String (文字列) |
検証する署名 |
x |
|
Algorithm (アルゴリズム) |
Enumeration (列挙)。次のいずれかになります。
|
署名に使用されるアルゴリズム |
|
|
Password (パスワード) |
String (文字列) |
署名に使用されるパスワード |
x |
項目 | 型 | 説明 | デフォルト値 | 必須 |
---|---|---|---|---|
Max Idle Time (最大アイドル時間) |
Number (数値) |
有効期限の対象とみなされるまで、動的設定インスタンスがアイドル状態を維持できる最大時間のスカラー時間値 |
||
Time Unit (時間単位) |
Enumeration (列挙)。次のいずれかになります。
|
maxIdleTime 属性の時間単位 |
項目 | 型 | 説明 | デフォルト値 | 必須 |
---|---|---|---|---|
Initial Buffer Size (初期バッファサイズ) |
Number (数値) |
これは、ストリームをコンシュームし、ストリームへのランダムアクセスを提供する目的で割り当てられるメモリの容量です。ストリームに含まれているデータがこのバッファに適合できる量を超えている場合、 |
||
Buffer Size Increment (バッファサイズ増分) |
Number (数値) |
バッファサイズが初期サイズを超えた場合に、どれくらい拡張されるか。値を 0 以下に設定すると、バッファが拡張されません。つまり、バッファがフルになると、 |
||
Max Buffer Size (最大バッファサイズ) |
Number (数値) |
使用するメモリの最大量。これを超えると、 |
||
Buffer Unit (バッファ単位) |
Enumeration (列挙)。次のいずれかになります。
|
これらのすべての属性の単位 |
項目 | 型 | 説明 | デフォルト値 | 必須 |
---|---|---|---|---|
Max In Memory Size (最大メモリ内サイズ) |
Number (数値) |
データをメモリ内に保持するためにストリームで使用する最大メモリを定義します。これを超えると、ディスクへのコンテンツのバッファが開始されます。 |
||
Buffer Unit (バッファ単位) |
Enumeration (列挙)。次のいずれかになります。
|
maxInMemorySize で表される単位 |