1

XML署名の参照と変換についてかなり混乱しています

同じドキュメントの参照を行っているときに、"" と "#objectid" を期待する正当な URI はありますか?

エンベロープ署名の署名中、逆参照後、最初に C14N を適用するか、エンベロープ変換を適用する必要がありますか? (違いはないように見えますが)

ありがとうございました

4

1 に答える 1

1

同じドキュメントの参照の場合、有効なURIもXPointerフレームワークによって定義されるため、前述の一般的なURI以外のURIが存在する可能性があります。

「エンベロープ」変換は、入力がノードセットであり、ノードセットも生成する変換です。入力ノードセットは、URI属性を逆参照することによって暗黙的に指定され、結果は、変換を含む署名要素が削除される別のノードセットになります。

署名値の計算に必要なメッセージダイジェストを計算できるようにするには、最初にノードセットを「オクテットストリーム」に変換する必要があります。これはC14Nが行うことです。明示的に記述されたC14N変換を適用するか、指定されていない場合は、暗黙的なC14N 1.0変換を適用します(XML署名構文および処理バージョン1.1を参照)。

URIの逆参照と変換の適用の結果がXPathノードセット(またはアプリケーションによって実装された十分に機能的な置換)である場合、セクション4.4.3.2参照処理モデルで説明されているように変換する必要があります。

データオブジェクトがノードセットであり、次の変換にオクテットが必要な場合、署名アプリケーションは、CanonicalXML[XML-C14N]を使用してノードセットをオクテットストリームに変換しようとする必要があります。

変換をドキュメントに表示されているのと同じ順序で適用することも重要です。任意の順序で適用すると、間違った結果が生じる可能性があります。

于 2012-06-16T00:27:02.147 に答える