検索

373.5. エンドポイントオプション

download PDF

XML Security エンドポイントは、URI 構文を使用して設定されます。

xmlsecurity:command:name

パスおよびクエリーパラメーターを使用します。

373.5.1. パスパラメーター (2 個のパラメーター):

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

command

必須 署名するか検証するか。

 

XmlCommand

name

必須 URI の名前部分はユーザーが選択して、camel コンテキスト内の異なる signer/verifier エンドポイントを区別できます。

 

String

373.5.2. クエリーパラメーター(35 個のパラメーター):

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

baseUri (common)

URI デリファレンスで使用するベース URI を設定できます。次に、相対 URI がベース URI と連結されます。

 

String

clearHeaders (common)

署名と検証後に XML 署名固有のヘッダーをクリアするかどうかを決定します。デフォルトは true です。

true

Boolean

cryptoContextProperties (common)

暗号コンテキストプロパティーを設定します。リンク XMLCryptoContext#setProperty(String, Object) を参照してください。設定可能なプロパティーは、XMLSignContext および XMLValidateContext で定義されます (サポートされるプロパティーを参照)。次のプロパティーは、デフォルトで XML 検証用の値 Boolean#TRUE に設定されています。これらの機能をオフにする場合は、プロパティー値を Boolean#FALSE に設定する必要があります。org.jcp.xml.dsig.validateManifests javax.xml.crypto.dsig.cacheReference

 

Map

disallowDoctypeDecl (common)

着信 XML ドキュメントに DTD DOCTYPE 宣言が含まれることを禁止します。デフォルト値はブール #TRUE です。

true

Boolean

omitXmlDeclaration (common)

送信メッセージボディーの XML 宣言を省略するかどうかを示すインジケーター。デフォルト値は false です。ヘッダー XmlSignatureConstants#HEADER_OMIT_XML_DECLARATION で上書きできます。

false

Boolean

outputXmlEncoding (common)

結果の署名付き XML ドキュメントの文字エンコーディング。null の場合、元の XML ドキュメントのエンコーディングが使用されます。

 

String

schemaResourceUri (common)

XML スキーマへのクラスパス。ID 属性を決定するために detached XML 署名ケースで指定する必要があり、enveloped ケースおよび enveloping ケースで設定される場合があります。設定されている場合、XML ドキュメントは指定された XML スキーマで検証されます。スキーマリソース URI は、ヘッダー XmlSignatureConstants#HEADER_SCHEMA_RESOURCE_URI で上書きできます。

 

String

synchronous (advanced)

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

false

boolean

uriDereferencer (advanced)

参照 URI によるリモートアクセスを制限したい場合は、独自の dereferencer を設定できます。オプションのパラメーター。設定されていない場合、URI フラグメント、HTTP、ファイル、および XPpointer URI を解決できるプロバイダーのデフォルトの逆参照子が使用されます。注意: 実装はプロバイダーに依存します!

 

URIDereferencer

addKeyInfoReference (sign)

KeyInfo 要素を改ざんから保護するために、署名された情報要素への参照を追加して、署名値によって保護されるようにすることができます。デフォルト値は true です。KeyAccessor によって KeyInfo が返される場合にのみ関連します。KeyInfo#getId() は null ではありません。

true

Boolean

canonicalizationMethod (sign)

ダイジェストが計算される前に SignedInfo 要素を正規化するために使用される正規化メソッド。ヘルパーメソッド XmlSignatureHelper.getCanonicalizationMethod(String algorithm) または getCanonicalizationMethod(String algorithm, List inclusiveNamespacePrefixes) を使用して、正規化メソッドを作成できます。

http://www.w3.org/TR/2001/REC-xml-c14n-20010315

AlgorithmMethod

contentObjectId (sign)

コンテンツオブジェクト Id 属性値を設定します。デフォルトでは、UUID が生成されます。null 値を設定すると、新しい UUID が生成されます。enveloping ケースのみ使用。

 

String

contentReferenceType (sign)

コンテンツ参照のタイプ。デフォルト値は null です。この値は、ヘッダー XmlSignatureConstants#HEADER_CONTENT_REFERENCE_TYPE で上書きできます。

 

String

contentReferenceUri (sign)

署名するコンテンツの参照 URI。enveloped ケースのみの使用です。参照 URI に ID 属性値が含まれている場合、リソーススキーマ URI (setSchemaResourceUri (String)) も設定する必要があります。これは、スキーマバリデーターが ID 属性である属性を検出するためです。enveloping ケースや detached ケースは無視されます。

 

String

digestAlgorithm (sign)

ダイジェストアルゴリズムの URI。オプションのパラメーター。このダイジェストアルゴリズムは、入力メッセージのダイジェストを計算するために使用されます。このダイジェストアルゴリズムが指定されていない場合、ダイジェストアルゴリズムは署名アルゴリズムから計算されます。例: http://www.w3.org/2001/04/xmlenc#sha256

 

String

keyAccessor (sign)

署名プロセスには、秘密鍵が必要です。この秘密鍵を提供するキーアクセサー Bean を指定します。キーアクセサー Bean は KeyAccessor インターフェイスを実装する必要があります。パッケージ org.apache.camel.component.xmlsecurity.api には、Java キーストアから秘密鍵を読み取るデフォルトの実装クラス DefaultKeyAccessor が含まれています。

 

KeyAccessor

parentLocalName (sign)

XML 署名要素が追加される親要素のローカル名。enveloped XML 署名にのみ関連します。または、setParentXpath (XPathFilterParameterSpec) を使用することもできます。デフォルト値は null です。enveloping および detached された XML 署名の場合、値は null である必要があります。このパラメーターまたは enveloped 署名のパラメーター setParentXpath(XPathFilterParameterSpec) と detached 署名のパラメーター setXpathsToIdAttributes(List) を同じように設定することはできません。パラメーター parentXpath と parentLocalName が同じ設定で指定されている場合、例外が出力されます。

 

String

parentNamespace (sign)

XML 署名要素が追加される親要素の名前空間。

 

String

parentXpath (sign)

エンベロープケースで親ノードを検索するように XPath を設定します。このメソッドを介して親ノードを指定するか、メソッド setParentLocalName(String) および setParentNamespace(String) を使用して親のローカル名と名前空間を指定します。デフォルト値は null です。enveloping および detached された XML 署名の場合、値は null である必要があります。パラメーター parentXpath と parentLocalName が同じ設定で指定されている場合、例外が出力されます。

 

XPathFilterParameter Spec

plainText (sign)

メッセージボディーにプレーンテキストが含まれているかどうかを示します。デフォルト値は false で、メッセージボディーに XML が含まれていることを示します。値は、ヘッダー XmlSignatureConstants#HEADER_MESSAGE_IS_PLAIN_TEXT で上書きできます。

false

Boolean

plainTextEncoding (sign)

プレーンテキストのエンコード。メッセージボディーがプレーンテキストの場合にのみ関連します (パラメーター plainText) を参照してください。デフォルト値は UTF-8 です。

UTF-8

String

prefixForXmlSignature Namespace (sign)

XML 署名名前空間 http://www.w3.org/2000/09/xmldsig# の名前空間接頭辞。デフォルト値は ds です。null または空の値が設定されている場合、XML 署名名前空間に接頭辞は使用されません。ベストプラクティスを参照してください http://www.w3.org/TR/xmldsig-bestpractices/#signing-xml-without-namespaces

ds

String

properties (sign)

追加のプロパティーを含む XML 署名に追加の参照とオブジェクトを追加するために、XmlSignatureProperties インターフェイスを実装する Bean を提供できます。

 

XmlSignatureProperties

signatureAlgorithm (sign)

署名アルゴリズム。デフォルト値は http://www.w3.org/2000/09/xmldsig#rsa-sha1 です。

http://www.w3.org/2000/09/xmldsig#rsa-sha1

String

signatureId (sign)

署名 ID を設定します。このパラメーターが設定されていない場合 (null 値)、署名 ID に対して一意の ID が生成されます (デフォルト)。このパラメーターが (空の文字列) に設定されている場合、署名要素に Id 属性は作成されません。

 

String

transformMethods (sign)

ダイジェストが計算される前にメッセージボディーで実行される変換。デフォルトでは、C14n が追加され、enveloped 署名の場合 (parentLocalName オプションを参照)、http://www.w3.org/2000/09/xmldsig#enveloped-signature もリストの位置 0 に追加されます。XmlSignatureHelper のメソッドを使用して、変換メソッドを作成します。

 

List

xpathsToIdAttributes (sign)

XPATH 式を介して detached ケースで署名されている要素を ID 属性 (タイプ ID の属性) に定義します。XPATH 式を介して見つかった各要素に対して、detached 署名が作成されます。その参照 URI には、対応する属性値 (先頭に # が付きます) が含まれます。署名は、署名された要素の最後のシブリングになります。より深い階層レベルを持つ要素が最初に署名されます。ヘッダー XmlSignatureConstants#HEADER_XPATHS_TO_ID_ATTRIBUTES を使用して、XPATH リストを動的に設定することもできます。enveloped 署名のパラメーター setParentLocalName(String) または setParentXpath(XPathFilterParameterSpec) と、detached 署名のこのパラメーターを同じ設定で設定することはできません。

 

List

keySelector (verify)

XML 署名を検証するためのキーを提供します。

 

KeySelector

outputNodeSearch (verify)

出力メッセージ本文に設定する XML 署名ドキュメントからノードを決定するための出力ノード検索値を設定します。値のクラスは、出力ノード検索のタイプによって異なります。出力ノード検索は XmlSignature2Message に転送されます。

 

String

outputNodeSearchType (verify)

出力メッセージ bodyF にシリアル化される出力ノードを決定するための検索タイプを決定します。setOutputNodeSearch(Object) を参照してください。サポートされている既定の検索の種類は、DefaultXmlSignature2Message にあります。

デフォルト

String

removeSignatureElements (verify)

出力メッセージに設定されたドキュメントから XML 署名要素 (ローカル名 Signature および 名前空間 http://www.w3.org/2000/09/xmldsig# を持つ要素) を削除するかどうかを示します。通常、これは XML 署名が enveloped の場合にのみ必要です。デフォルト値はブール #FALSE です。このパラメーターは XmlSignature2Message に転送されます。出力ノード検索のタイプが DefaultXmlSignature2Message#OUTPUT_NODE_SEARCH_TYPE_DEFAULT.F の場合、このインジケーターは効果がありません。

false

Boolean

secureValidation (verify)

安全な検証を有効にします。true の場合、安全な検証が有効になります。

true

Boolean

validationFailedHandler (verify)

さまざまな検証失敗の状況を処理します。デフォルトの実装は、さまざまな状況に対して特定の例外を出力します (すべての例外はパッケージ名 org.apache.camel.component.xmlsecurity.api を持ち、XmlSignatureInvalidException のサブクラスです。署名値の検証に失敗すると、XmlSignatureInvalidValueException が出力されます。参照の検証に失敗すると、XmlSignatureInvalidContentHashException が出力されます。詳細については、JavaDoc を参照してください。

 

ValidationFailedHandler

xmlSignature2Message (verify)

検証後に XML 署名を出力メッセージにマップする Bean。このマッピングを行う方法は、オプション outputNodeSearchType、outputNodeSearch、および removeSignatureElements によって設定できます。デフォルトの実装では、3 つの出力ノード検索タイプ Default、ElementName、および XPath に関連する 3 つの可能性が提供されます。デフォルトの実装では、ノードが決定され、それがシリアライズされて出力メッセージのボディーに設定されます。 検索タイプが ElementName の場合、出力ノード (この場合は要素でなければなりません) は、検索値で定義されたローカル名と名前空間によって決定されます (オプション outputNodeSearch 参照)。検索タイプが XPath の場合、出力ノードは検索値で指定された XPath によって決定されます (この場合、出力ノードのタイプは Element、TextNode、または Document になります)。出力ノード検索タイプがデフォルトの場合、以下のルールが適用されます: enveloped XML 署名の場合 (URI=と変換 http://www.w3.org/2000/09/xmldsig#enveloped-signature を持つ参照があります)、署名要素を持たない入力 XML 文書が出力メッセージボディーに設定されます。非 enveloped XML 署名の場合、メッセージボディーは参照されたオブジェクトから決定されます。これについては、Enveloping XML 署名ケースでの出力ノードの決定の章で詳しく説明されています。

 

XmlSignature2Message

xmlSignatureChecker (verify)

このインターフェイスを使用すると、検証を実行する前に、アプリケーションで XML 署名を確認できます。この手順は http://www.w3.org/TR/xmldsig-bestpractices/#check-what-is-signed で推奨されています

 

XmlSignatureChecker

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.