"複合リソース文書のためのデジタル署名を作成するコンピュータ実施の方法であって、少なくとも1つのリスースを含む前記複合リソース文書を受け取るステップと、前記複合リソース文書内の全てのリソースをリストアップする最新のマニフェストリソースを取得するステップと、前記最新のマニフェストリソース内のリソースの前記リストから取り去るべきゼロ、1つ又は複数のリソースを指示して、署名されるべき識別されたリソースの生成署名参照リストを作成するステップと、前記生成署名参照リスト内の前記識別されたリソースを用いてハッシュトークンを生成して署名ハッシュトークンを形成するステップと、秘密鍵を用いて前記署名ハッシュトークンを暗号化するステップと、を含むコンピュータ実施の方法。前記生成署名参照リスト内の前記識別されたリソースを用いてハッシュトークンを生成するステップは、前記生成署名参照リスト内の1つ又は複数のリソースを選択して選択された変換リソースを形成し、前記生成署名参照リストからの残りのリソースは未変換リソースを形成するようにするステップと、前記選択された変換リソースにデジタル署名変換を適用するステップと、前記選択された変換リソースと組み合せた前記未変換リソースを用いて前記ハッシュトークンを生成するステップと、をさらに含む、請求項1に記載のコンピュータ実施の方法。前記生成署名参照リスト内の前記識別されたリソースを用いてハッシュトークンを生成するステップは、URIリゾルバを用いて前記生成署名参照リスト内の識別された1つ又は複数のリソースのコンテンツを取得するステップと、前記生成署名参照リスト内の前記識別された少なくとも1つのリソースのダイジェスト値を用いて前記ハッシュトークンを生成するステップと、のうちの少なくとも1つをさらに含む、請求項1に記載のコンピュータ実施の方法。前記生成署名参照リストを作成するステップは、前記生成署名参照リストから取り去られるリソースのリストを示すリソース記述のリストを宣言するオブジェクトに参照をインクルードするステップをさらに含む、請求項1に記載のコンピュータ実施の方法。複合リソース文書のためのデジタル署名を確認するコンピュータ実施の方法であって、デジタル署名を有する1つ又は複数のリソースを含む前記複合リソース文書を受け取るステップと、前記複合リソース文書内の全てのリソースをリストアップする最新のマニフェストリソースを取得するステップと、前記デジタル署名内の生成署名参照リスト内の識別された前記リソースを用いてハッシュトークンを生成して生成ハッシュトークンを形成するステップと、取得した復号鍵を用いて、前記デジタル署名内に含まれる暗号化ハッシュトークンを復号して署名ハッシュトークンを形成するステップと、前記生成ハッシュトークンと前記署名ハッシュトークンとの少なくとも比較に応答して、署名正当性結果を生成するステップと、を含むコンピュータ実施の方法。前記署名正当性結果を生成するステップは、前記生成ハッシュトークンが前記署名ハッシュトークンに等しくないとの判断に応答して無効の署名正当性結果を生成するステップであって、前記判断は、前記最新のマニフェストリソースからのリソースのリストが前記デジタル署名内の前記生成署名参照リスト内の識別されたリソースのリストに等しくないかどうかの判断をさらに含む、前記生成するステップと、鍵有効期限テスト、鍵取消しテスト、鍵発行者信用証明テスト及び信用鍵リストテストを含むゼロ、1つ又は複数のテストを用いて前記取得された復号鍵の正当性をテストするステップと、復号鍵正当性テストの失敗に応答して、無効の署名正当性結果を生成するステップと、前記生成ハッシュトークンが前記署名ハッシュトークンに等しく、且つ復号鍵正当性テストに失敗がないとの判断に応答して、有効の署名正当性結果を生成するステップであって、前記判断は、前記最新のマニフェストリソースからのリソースのリストが前記デジタル署名内の生成署名参照リスト内の識別されたリソースのリストに等しいかどうかの判断をさらに含む、前記生成するステップと、を含む、請求項5に記載のコンピュータ実施の方法。前記生成署名参照リスト内の識別されたリソースを用いてハッシュトークンを生成するステップは、URIリゾルバを用いて前記生成署名参照リスト内の識別された1つ又は複数のリソースのコンテンツを取得するステップと、前記生成署名参照リスト内の識別された少なくとも1つのリソースに対して少なくとも1回のデジタル署名変換を実施するステップと、前記生成署名参照リスト内の識別された少なくとも1つのリソースのダイジェスト値を用いて前記ハッシュトークンを生成するステップと、のうちの少なくとも1つをさらに含む、請求項6に記載のコンピュータ実施の方法。複合リソース文書のためのデジタル署名を作成するためのコンピュータプログラムであって、その上にストアされたコンピュータ実行可能プログラムコードを含むコンピュータ書き込み可能型媒体を備え、前記コンピュータ実行可能プログラムコードが、コンピュータに、少なくとも1つのリソースを含む前記複合リソース文書を受け取る機能と、前記複合リソース文書内の全てのリソースをリストアップする最新のマニフェストリソースを取得する機能と、前記最新のマニフェストリソース内のリソースのリストから取り去るべきゼロ、1つ又は複数のリソースを指示して、署名されるべき識別されたリソースの生成署名参照リストを作成する機能と、前記生成署名参照リスト内の前記識別されたリソースを用いてハッシュトークンを生成して署名ハッシュトークンを形成する機能と、秘密鍵を用いて前記署名ハッシュトークンを暗号化する機能と、を実行させる、コンピュータプログラム。前記生成署名参照リスト内の前記識別されたリソースを用いて署名ハッシュトークンを形成する機能は、前記生成署名参照リスト内の1つ又は複数のリソースを選択して選択された変換リソースを形成し、前記生成署名参照リストからの残りのリソースは未変換リソースを形成するようにする機能と、前記選択された変換リソースにデジタル署名変換を適用する機能と、前記選択された変換リソースと組み合せた前記未変換リソースを用いて前記ハッシュトークンを生成する機能と、をさらに備える、請求項8に記載のコンピュータプログラム。前記生成署名参照リスト内の前記識別されたリソースを用いてハッシュトークンを生成する機能は、URIリゾルバを用いて前記生成署名参照リスト内の識別された1つ又は複数のリソースのコンテンツを取得する機能と、前記生成署名参照リスト内の前記識別された少なくとも1つのリソースのダイジェスト値を用いて前記ハッシュトークンを生成する機能と、のうちの少なくとも1つをさらに備える、請求項8に記載のコンピュータプログラム。前記生成署名参照リストを作成する機能は、前記生成署名参照リストから取り去られるリソースのリストを示すリソース記述のリストを宣言するオブジェクトに参照をインクルードする機能をさらに備える、請求項8に記載のコンピュータプログラム。複合リソース文書のためのデジタル署名を確認するためのコンピュータプログラムであって、その上にストアされたコンピュータ実行可能プログラムコードを含むコンピュータ書き込み可能型媒体を備え、前記コンピュータ実行可能プログラムコードが、コンピュータに、デジタル署名を有する1つ又は複数のリソースを含む前記複合リソース文書を受け取る機能と、前記複合リソース文書内の全てのリソースをリストアップする最新のマニフェストリソースを取得する機能と、前記デジタル署名内の生成署名参照リスト内の識別された前記リソースを用いてハッシュトークンを生成して生成ハッシュトークンを形成する機能と、取得した復号鍵を用いて、前記デジタル署名内に含まれる暗号化ハッシュトークンを復号して署名ハッシュトークンを形成する機能と、前記生成ハッシュトークンと前記署名ハッシュトークンとの少なくとも比較に応答して、署名正当性結果を生成する機能と、を実行させるコンピュータプログラム。前記署名正当性結果を生成する機能は、前記生成ハッシュトークンが前記署名ハッシュトークンに等しくないとの判断に応答して、無効の署名正当性結果を生成するための、前記判断が前記最新のマニフェストリソースからのリソースのリストが前記デジタル署名内の前記生成署名参照リスト内の識別されたリソースのリストに等しくないかどうかの判断をさらに含む、コンピュータ実行可能プログラムコードと、鍵有効期限テスト、鍵取消しテスト、鍵発行者信用証明テスト及び信用鍵リストテストを含むゼロ、1つ又は複数のテストを用いて取得された復号鍵の正当性をテストする機能と、復号鍵正当性テストの失敗に応答して、無効の署名正当性結果を生成する機能と、前記生成ハッシュトークンが前記署名ハッシュトークンに等しく、且つ前記復号鍵正当性テストに失敗がないとの判断に応答して、有効の署名正当性結果を生成するための、前記判断が前記最新のマニフェストリソースからのリソースのリストが前記デジタル署名内の生成署名参照リスト内の識別されたリソースのリストに等しいかどうかの判断を行う機能と、をさらに備える、請求項12に記載のコンピュータプログラム。前記生成署名参照リスト内の前記識別されたリソースを用いてハッシュトークンを形成する機能は、URIリゾルバを用いて、前記生成署名参照リスト内の識別された1つ又は複数のリソースのコンテンツを取得する機能と、前記生成署名参照リスト内の前記識別された少なくとも1つのリソースに対して少なくとも1回のデジタル署名変換を実施する機能と、前記生成署名参照リスト内の前記識別された少なくとも1つのリソースのダイジェスト値を用いてハッシュトークンをする機能と、のうちの少なくとも1つをさらに備える、請求項13に記載のコンピュータプログラム。複合リソース文書のためのデジタル署名を作成するための装置であって、通信ファブリックと、前記通信ファブリックに接続され、コンピュータ実行可能プログラムコードを含むメモリと、前記通信ファブリックに接続された通信ユニットと、前記通信ファブリックに接続された入力/出力ユニットと、前記通信ファブリックに接続されたディスプレイと、前記通信ファブリックに接続されたプロセッサユニットと、を備え、前記プロセッサユニットは、コンピュータ実行可能コードを実行して前記装置に対して、少なくとも1つのリソースを含む前記複合リソース文書を受け取り、前記複合リソース文書内の全てのリソースをリストアップする最新のマニフェストリソースを取得し、前記最新のマニフェストリソース内のリソースのリストから取り去るべきゼロ、1つ又は複数のリソースを指示して署名されるべき識別されたリソースの生成署名参照リストを作成し、前記生成署名参照リスト内の前記識別されたリソースを用いてハッシュトークンを生成して署名ハッシュトークンを形成し、秘密鍵を用いて、前記署名ハッシュトークンを暗号化する、ように命令する、装置。前記プロセッサユニットは、前記生成署名参照リスト内の前記識別されたリソースを用いてハッシュトークンを生成するためのコンピュータ実行可能プログラムコードを実行して、前記装置に対して、前記生成署名参照リスト内の1つ又は複数のリソースを選択して選択された変換リソースを形成し、前記生成署名参照リストからの残りのリソースは未変換リソースを形成するようにし、前記選択された変換リソースにデジタル署名変換を適用し、前記選択された変換リソースと組み合せた未変換リソースを用いて前記ハッシュトークンを生成する、ようにさらに命令する、請求項15に記載の装置。前記プロセッサユニットは、前記生成署名参照リスト内の前記識別されたリソースを用いてハッシュトークンを生成するためのコンピュータ実行可能プログラムコードを実行して、前記装置に対して、URIリゾルバを用いて前記生成署名参照リスト内の識別された1つ又は複数のリソースのコンテンツを取得することと、前記生成署名参照リスト内の識別された少なくとも1つのリソースのダイジェスト値を用いて前記ハッシュトークンを生成することと、のうちの少なくとも1つを実行するようにさらに命令する、請求項15に記載の装置。前記プロセッサユニットは、前記生成署名参照リストを作成するためのコンピュータ実行可能プログラムコードを実行して、前記装置に対して、前記生成署名参照リストから取り去られるリソースのリストを示すリソース記述のリストを宣言するオブジェクトに参照をインクルードするようにさらに命令する、請求項15に記載の装置。複合リソース文書のためのデジタル署名を確認するための装置であって、通信ファブリックと、前記通信ファブリックに接続され、コンピュータ実行可能プログラムコードを含むメモリと、前記通信ファブリックに接続された通信ユニットと、前記通信ファブリックに接続された入力/出力ユニットと、前記通信ファブリックに接続されたディスプレイと、前記通信ファブリックに接続されたプロセッサユニットと、を備え、前記プロセッサユニットは、前記コンピュータ実行可能プログラムコードを実行して前記装置に対して、デジタル署名を有する1つ又は複数のリソースを含む前記複合リソース文書を受け取り、前記複合リソース文書内の全てのリソースをリストアップする最新のマニフェストリソースを取得し、前記デジタル署名内の生成署名参照リスト内の識別されたリソースを用いてハッシュトークンを生成して生成ハッシュトークンを形成し、取得された復号鍵を用いて、前記デジタル署名内に含まれる暗号化ハッシュトークンを復号して署名ハッシュトークンを形成し、前記生成ハッシュトークンと前記署名ハッシュトークンとの少なくとも比較に応答して、署名正当性結果を生成するように命令する、装置。前記プロセッサユニットは、前記コンピュータ実行可能プログラムコードを実行して、前記装置に対して、URIリゾルバを用いて前記生成署名参照リスト内の1つ又は複数の識別されたリソースのコンテンツを取得することと、前記生成署名参照リスト内の前記識別された少なくとも1つのリソースに対して少なくとも1回のデジタル署名変換を実施することと、前記生成署名参照リスト内の前記識別された少なくとも1つのリソースのダイジェスト値を用いて前記ハッシュトークンを生成することと、署名正当性結果を生成することとのうちの少なくとも1つを実行するように命令し、前記署名正当性結果を生成することは、前記生成ハッシュトークンが前記署名ハッシュトークンに等しくないとの判断に応答して無効の署名正当性結果を生成するステップであって、前記判断は、前記最新のマニフェストリソースからのリソースのリストが前記デジタル署名内の前記生成署名参照リスト内の識別されたリソースのリストに等しくないかどうかの判断をさらに含む、前記生成するステップと、鍵有効期限テスト、鍵取消しテスト、鍵発行者信用証明テスト及び信用鍵リストテストを含むゼロ、1つ又は複数のテストを用いて取得された復号鍵の正当性をテストするステップと、復号鍵正当性テストの失敗に応答して、無効の署名正当性結果を生成するステップと、前記生成ハッシュトークンが前記署名ハッシュトークンに等しく、且つ前記復号鍵正当性テストに失敗がないとの判断に応答して、有効の署名正当性結果を生成するステップであって、前記判断は、前記最新のマニフェストリソースからのリソースのリストが前記デジタル署名内の前記生成署名参照リスト内の識別されたリソースのリストに等しいかどうかの判断をさらに含む、前記生成するステップと、をさらに含む、請求項19に記載の装置。単一のXML文書は、アプリケーションの作者が益々多くのページを有するアプリケーションを作成し、同時にサーバ毎のより高いフォーム処理能力を要求するので、時間がたつにつれて維持できなくなる可能性がある。既知の解決策は、サブトラクションフィルタリングが可能であるが性能が不十分な単一XMLファイルとして文書を表現すること、並びに、より優れた性能を提供し、各リソース内でのサブトラクションフィルタリングは可能であるが、複合リソースからのリソース全体のサブトラクションフィルタリングが可能ではない複合リソースとして文書を表現することを含む、対話型文書にデジタル方式で署名することに関する欠点を有する。一実施形態により、複合リソース文書のためのデジタル署名を作成するコンピュータ実施の方法は、少なくとも1つのリソースを含む複合リソース文書を受け取り、複合リソース文書内の全てのリソースをリストアップする最新のマニフェストリソースを取得し、最新のマニフェストリソース内のリソースのリストから取り去るべきゼロ、1つ又は複数のリソースを指示して、署名されるべき識別されたリソースの生成署名参照リストを作成し、生成署名参照リスト内の識別されたリソース用いてハッシュトークンを生成して署名ハッシュトークンを形成し、秘密鍵を用いて署名ハッシュトークンを暗号化する。一実施形態により、複合リソース文書のデジタル署名を確認するためのコンピュータ実施の方法は、デジタル署名を有する1つ又は複数のリソースを含む複合リソース文書を受け取り、複合リソース文書内の全てのリソースをリストアップする最新のマニフェストリソースを取得し、デジタル署名内の生成署名参照リスト内の識別されたリソース用いてハッシュトークンを生成して生成ハッシュトークンを形成し、取得した復号鍵を用いてデジタル署名内に含まれる暗号化ハッシュトークンを復号して署名ハッシュトークンを形成し、生成ハッシュトークンと署名ハッシュトークンとの少なくとも比較に応答して署名正当性結果を生成する。別の実施形態により、複合リソース文書のためのデジタル署名を作成するためのコンピュータプログラムは、内部にストアしたコンピュータ実行可能プログラムコードを含むコンピュータ書き込み可能型媒体を含む。このコンピュータ実行可能プログラムコードは、少なくとも1つのリソースを含む複合リソース文書を受け取るためのコンピュータ実行可能プログラムコードと、複合リソース文書内の全てのリソースをリストアップする最新のマニフェストリソースを取得するためのコンピュータ実行可能プログラムコードと、最新のマニフェストリソース内のリソースのリストから取り去るべきゼロ、1つ又は複数のリソースを指示して、署名されるべき識別されたリソースの生成署名参照リストを作成するためのコンピュータ実行可能プログラムコードと、生成署名参照リスト内の識別されたリソース用いてハッシュトークンを生成して署名ハッシュトークンを形成するためのコンピュータ実行可能プログラムコードと、秘密鍵を用いて署名ハッシュトークンを暗号化するためのコンピュータ実行可能プログラムコードとを含む。別の実施形態において、複合リソース文書のデジタル署名を確認するためのコンピュータプログラムは、内部にストアしたコンピュータ実行可能プログラムコードを含むコンピュータ書き込み可能型媒体を含む。このコンピュータ実行可能プログラムコードは、デジタル署名を有する1つ又は複数のリソースを含む複合リソース文書を受け取るためのコンピュータ実行可能プログラムコードと、複合リソース文書内の全てのリソースをリストアップする最新のマニフェストリソースを取得するためのコンピュータ実行可能プログラムコードと、デジタル署名内の生成署名参照リスト内の識別されたリソース用いてハッシュトークンを生成して生成ハッシュトークンを形成するためのコンピュータ実行可能プログラムコードと、取得した復号鍵を用いてデジタル署名内に含まれる暗号化ハッシュトークンを復号して署名ハッシュトークンを形成するためのコンピュータ実行可能プログラムコードと、生成ハッシュトークンと署名ハッシュトークンとの少なくとも比較に応答して署名正当性結果を生成するためのコンピュータ実行可能プログラムコードとを含む。別の実施形態により、複合リソース文書のためのデジタル署名を作成するための装置は、通信ファブリックと、通信ファブリックに接続され、コンピュータ実行可能プログラムコードを含むメモリと、通信ファブリックに接続された通信ユニットと、通信ファブリックに接続された入力/出力ユニットと、通信ファブリックに接続されたディスプレイと、通信ファブリックに接続されたプロセッサユニットとを備える。プロセッサユニットは、コンピュータ実行可能プログラムコードを実行して、装置に対して、少なくとも1つのリソースを含む複合リソース文書を受け取り、複合リソース文書内の全てのリソースをリストアップする最新のマニフェストリソースを取得し、最新のマニフェストリソース内のリソースのリストから取り去るべきゼロ、1つ又は複数のリソースを指示して、署名されるべき識別されたリソースの生成署名参照リストを作成し、生成署名参照リスト内の識別されたリソース用いてハッシュトークンを生成して署名ハッシュトークンを形成し、秘密鍵を用いて署名ハッシュトークンを暗号化するように命令する。別の実施形態により、複合リソース文書のデジタル署名を確認するための装置は、通信ファブリックと、通信ファブリックに接続され、コンピュータ実行可能プログラムコードを含むメモリと、通信ファブリックに接続された通信ユニットと、通信ファブリックに接続された入力/出力ユニットと、通信ファブリックに接続されたディスプレイと、通信ファブリックに接続されたプロセッサユニットとを備える。プロセッサユニットは、コンピュータ実行可能プログラムコードを実行して、装置に対して、デジタル署名を有する1つ又は複数のリソースを含む複合リソース文書を受け取り、複合リソース文書内の全てのリソースをリストアップする最新のマニフェストリソースを取得し、デジタル署名内の生成署名参照リスト内の識別されたリソース用いてハッシュトークンを生成して生成ハッシュトークンを形成し、取得した復号鍵を用いてデジタル署名内に含まれる暗号化ハッシュトークンを復号して署名ハッシュトークンを形成し、生成ハッシュトークンと署名ハッシュトークンとの少なくとも比較に応答して署名正当性結果を生成するように命令する。本開示のより完全な理解のために、これから添付の図面に関連して記述した以下の簡単な説明及び詳細な説明について言及するが、その際、類似の参照番号は類似の部分を表す。1つ又は複数の実施形態の例証となる実施を以下に与えるが、本開示のシステム及び/又は方法は、多くの技術を用いて実施することができる。本開示は、本明細書で示し、説明する例示的な設計及び実施を含む、以下で説明する例証的な実施、図面、及び技術に決して限定されるべきではなく、添付の特許請求の範囲並びにそれらの均等物の全範囲内で修正することができる。当業者によって理解されるように、本開示の態様は、システム、方法、又はコンピュータプログラムとして具体化することができる。従って、本開示の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態ファームウェア、常駐ソフトウェア、マイクロコードなどを含む、又は本明細書で一般的に全て回路、モジュール、又はシステムと呼ぶことができるソフトウェア態様とハードウェア態様を組み合わせた実施形態の形をとるものとすることができる。さらに、本開示の態様は、その上に具体化されたコンピュータ可読プログラムコードを有する、1つ又は複数のコンピュータ可読媒体内に具体化されたコンピュータプログラムの形態を取ることができる。1つ又は複数のコンピュータ可読媒体の任意の組合せを用いることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体とすることができる。コンピュータ可読記憶媒体は、例えば、これらに限定されるものではないが、電子、磁気、光学、電磁、赤外線、又は半導体のシステム、装置、又はデバイス、或いは上記の任意の適切な組合せとすることができる。コンピュータ可読記憶媒体のよりより具体的な例非網羅的なリストには、以下のもの、すなわち、1つ又は複数の配線を有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリRAM、読み取り専用メモリROM、消去可能プログラム可能読み取り専用メモリEPROM又はフラッシュメモリ、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリCDROM、光記憶装置、又は磁気記憶装置、或いはそれらの任意の適切な組合せを含む。本明細書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、若しくはデバイスによって、又はそれらと接続して使用するための、プログラムを含み、又は格納することができる任意の有形の媒体とすることができる。コンピュータ可読信号媒体は、例えば、ベースバンド内に又は搬送波の一部分として、それにより具体化されたコンピュータ可読プログラムコードを有する伝搬データ信号を含むことができる。こうした伝搬信号は、これらに限定されるものではないが、電磁気的、光学的、又はそれらの任意の適切な組合せを含む様々な形態をとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、又はデバイスによって、又はそれらと接続して使用するための、プログラムを通信し、伝搬し、又は搬送することができる任意のコンピュータ可読媒体とすることができる。コンピュータ可読媒体上に具体化されたプログラムコードは、これらに限定されるものではないが、無線、有線、光ファイバケーブル、RFなど、又はそれらの任意の適切な組合せを含む任意の適切な媒体を用いて伝達することができる。本開示の態様に関する動作を実行するためのコンピュータプログラムコードは、例えば、Java商標、Smalltalk、C等のようなオブジェクト指向プログラミング言語、及び、Cプログラミング言語又は同様なプログラミング言語のような、従来の手続き型プログラミング言語を含む、1つ又は複数のプログラミング言語の任意の組合せで書くことができる。Java及び全てのJavaベースの商標及びロゴは、米国、他の国、又はその両方におけるSunMicrosystems,Inc.,社の登録商標である。プログラムコードは、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立したソフトウェアパッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。一番最後のシナリオの場合、遠隔コンピュータは、ローカルエリアネットワークLAN若しくは広域ネットワークWANを含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部のコンピュータへの接続がなされる場合もある例えば、インターネットサービスプロバイダを用いたインターネットを通じて。本開示の態様は、本発明の実施形態による方法、装置、システム及びコンピュータプログラムのフローチャート説明図及び/又はブロック図を参照して、ここに説明される。フローチャート説明図及び/又はブロック図の各ブロック、並びに、フローチャート説明図及び/又はブロック図中のブロックの組合せは、コンピュータプログラム命令によって実施できることを理解されるであろう。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに供給してマシンを形成し、その結果、コンピュータ又は他のプログラム可能データ処理装置のプロセッサにより実行される命令が、フローチャート及び/又はブロック図のブロック又はブロック群において指定される機能/動作を実装するための手段を生成するようすることができる。コンピュータ可読媒体に格納された命令が、フローチャート及び/又はブロック図のブロック又はブロック群において指定される機能/動作を実装する命令手段を含む製品を生成するように、コンピュータ又は他のプログラム可能なデータ処理装置に特定の方法で機能するように命令することが可能なこれらのコンピュータプログラム命令を、コンピュータ可読メモリに格納することもできる。コンピュータ又は他のプログラム可能な装置上で実行する命令が、フローチャート及び/又はブロック図のブロック又はブロック群において指定される機能/動作を実装するためのステップを提供するように、コンピュータプログラム命令をコンピュータ又は他のプログラム可能データ処理装置にロードし、一連の操作ステップをコンピュータ又は他のプログラム可能装置上で実行させて、コンピュータに実装されるプロセスを生成することもできる。ここで図を参照し、特に図1及び図2を参照すると、例証的な実施形態を実施することができるデータ処理環境の例示的な略図が与えられる。図1及び図2は単に例示的なものに過ぎず、種々の実施形態を実施することができる環境に対して何らかの制限を主張又は暗示することを意図したものではないことを認識されたい。図示した実施形態には多くの修正を加えることができる。図1は、例証的な実施形態を実施することができるデータ処理システムのネットワークの図形的表現を示す。ネットワークデータ処理システム100は、例証的な実施形態を実施することができるコンピュータのネットワークである。ネットワークデータ処理システム100は、ネットワーク102を含み、これは、ネットワークデータ処理システム100の内部に共に接続された種々のデバイス及びコンピュータの間の通信リンクを提供する。図示した例において、サーバ104及びサーバ106は記憶装置108と共にネットワーク102に接続する。さらに、クライアント110、112、及び114がネットワーク104に接続する。クライアント110、112、及び114は、例えば、パーソナルコンピュータ又はネットワークコンピュータとすることができる。図示した例において、サーバ104は、例えば、起動ファイル、オペレーティングシステムイメージ、及びアプリケーションなどのデータをクライアント110、112、及び114に供給することができる。クライアント110、112、及び114は本例においてはサーバ104に対するクライアントである。ネットワークデータ処理システム100は、図には示さない付加的なサーバ、クライアント、及び他のデバイスを含むことができる。図示した例において、ネットワークデータ処理システム100は、ネットワーク102を有するインターネットであり、これは、相互に通信するための通信制御プロトコル/インターネットプロトコルTCP/IPのプロトコル一式を用いるネットワーク及びゲートウェイの世界的規模の集合を表す。インターネットの中心には、データ及びメッセージを伝送する数千の商用、行政、教育又は他のコンピュータシステムからなる、主要ノード又はホストコンピュータの間の高速データ通信ラインの基乾回線が存在する。もちろん、ネットワークデータ処理システム100はまた、例えばイントラネット、ローカルエリアネットワークLAN、又は広域ネットワークWANなどの多くの異なるタイプのネットワークとして実施することもできる。図1は例示のためであり、種々の例証的な実施形態に対する構造上の限定を意図したものではない。次に図2を見ると、本開示の種々の実施形態に対して動作可能な例示的なデータ処理システムのブロック図が示される。この例証的な例において、データ処理システム200は通信ファブリック202を含み、これが、プロセッサユニット204、メモリ206、永続記憶装置208、通信ユニット210、入力/出力I/Oユニット212、及びディスプレイ214の間の通信をもたらす。プロセッサユニット204は、メモリ206にロードすることができるソフトウェアの命令を実行するように働く。プロセッサユニット204は、特定の実施に応じて、1つ又は複数のプロセッサの組とすることができ、又はマルチプロセッサコアとすることができる。さらにプロセッサユニット204は、主プロセッサが副プロセッサと共に単一チップ内に存在する1つ又は複数の異種プロセッサシステムを用いて実施することができる。別の例証的な例として、プロセッサユニット204は、同じタイプの複数のプロセッサを含んだ対称型マルチプロセッサシステムとすることができる。メモリ206及び永続記憶装置208は記憶装置216の例である。記憶装置は、例えば、制限無しに、データ、関数型のプログラムコード、及び/又は他の適切な情報などの情報を、一時的に又は永続的にストアすることができる、任意のハードウェア要素である。これらの例においてメモリ206は、例えば、ランダムアクセスメモリ又は任意の他の適切な揮発又は不揮発記憶装置とすることができる。永続記憶装置208は、具体的な実施に応じて種々の形態を取ることができる。例えば、永続記憶装置208は1つ又は複数のコンポーネント又はデバイスを含むことができる。例えば、永続記憶装置208はハードドライブ、フラッシュメモリ、書換え可能光ディスク、書換え可能磁気テープ、又はそれらのある組合せとすることができる。永続記憶装置208によって用いる媒体はまた取り外し可能とすることができる。例えば、取り外し可能ハードドライブを永続記憶装置208用に用いることができる。これらの例において通信ユニット210は、他のデータ処理システム又はデバイスとの通信をもたらす。これらの例において通信ユニット210は、ネットワークインタフェースカードとする。通信ユニット210は、物理的通信リンク及び無線通信リンクのいずれか又は両方の使用による通信をもたらす。入力/出力ユニット212は、データ処理システム200に接続することができる他のデバイスとのデータの入力及び出力を可能にする。例えば、入力/出力ユニット212は、キーボード、マウス、及び/又は何らかの他の適切な入力デバイスによるユーザ入力に関する接続をもたらすことができる。さらに、入力/出力ユニット212は、出力をプリンタに送ることができる。ディスプレイ214は、ユーザに情報を表示する機構を与える。オペレーティングシステム、アプリケーション及び/又はプログラムに関する命令は、通信ファブリック202を通じてプロセッサユニット204と通信する記憶装置216内に配置することができる。これらの例証的な例において、命令は永続記憶装置208上の関数形式とする。これらの命令は、プロセッサユニット204による実行のためにメモリ206にロードすることができる。異なる実施形態の方法は、メモリ206のようなメモリ内に配置することができるコンピュータ実施の命令を用いてプロセッサユニット204により実行することができる。これらの命令は、プログラムコード、コンピュータ使用可能プログラムコード、コンピュータ実行可能命令、又はコンピュータ可読プログラムコードと呼ばれ、これはプロセッサユニット204内のプロセッサによって読まれて実行されることができる。異なる実施形態におけるプログラムコードは、例えばメモリ206又は永続記憶装置208のような異なる物理的又は有形のコンピュータ可読媒体上に具体化することができる。プログラムコード218は、選択的に取り外し可能なコンピュータ可読媒体220上に関数形式で配置され、プロセッサユニット204による実行のためにデータ処理システム200にロード又は転送することができる。プログラムコード218及びコンピュータ可読媒体220は、これらの例においてはコンピュータプログラム222を形成する。一例において、コンピュータ可読媒体220は、例えば、永続記憶装置の一部分であるドライブ又は他のデバイス内に挿入又は配置され、例えば永続記憶装置208の一部分であるハードドライブのような記憶装置上への転送のための光又は磁気ディスクなどの有形形態にすることができる。有形形態において、コンピュータ可読媒体220はまた、データ処理システム200に接続されたハードドライブ、サムドライブthumbdrive、又はフラッシュメモリなどの永続記憶装置の記憶媒体の形態を取ることができる。コンピュータ可読媒体220の有形形態はまた、コンピュータ書き込み可能記憶媒体とも呼ばれる。ある場合には、コンピュータ可読媒体220は取り外し可能でなくても良い。代替的に、プログラムコード218は、コンピュータ可読媒体220から、通信ユニット210への通信リンクを通じて及び/又は入力/出力ユニット212への接続により、データ処理システム200へ転送することができる。通信リンク及び/又は接続は、例証的な実施例においては物理的又は無線とすることができる。コンピュータ可読媒体はまた、プログラムコードを含んだ通信リンク又は無線伝送のような無形媒体の形態を取ることができる。幾つかの例証的な実施形態において、プログラムコード218は、データ処理システム200内での使用のために、別のデバイス又はデータ処理システムからネットワークを介して永続記憶装置208にダウンロードすることができる。例えば、サーバデータ処理システム内のコンピュータ可読記憶媒体内にストアされたプログラムコードを、ネットワークを介してサーバからデータ処理システム200にダウンロードすることができる。プログラムコード218を供給するデータ処理システムは、サーバコンピュータ、クライアントコンピュータ、又はプログラムコード218をストアし及び伝送することができる何れかの他のデバイスとすることができる。一例として図2のデータ処理システム200を用いる例証的な実施形態によれば、プロセッサユニット204は、複合リソース文書のためのデジタル署名を作成するためのコンピュータ実施の方法を実行し、通信ユニット210、記憶装置216又は入力/出力ユニット212を含むソースからの少なくとも1つのリソースを含んだ複合リソース文書を受け取る。プロセッサユニット204は、複合リソース文書内の全てのリソースをリストアップした最新のマニフェストリソースを取得し、最新のマニフェストリソース内のリソースのリストから取りさるべきゼロ、1つ又は複数のリソースを指示して、署名されるべき識別されたリソースの生成署名参照リストを作成する。プロセッサユニット204は、生成署名参照リスト内の識別されたリソースを用いてハッシュトークンを生成して署名ハッシュトークンを形成し、秘密鍵を用いて署名ハッシュトークンを暗号化する。プロセッサユニット204は、さらにコンピュータ実施の方法を実行して複合リソース文書のデジタル署名を確認する。プロセッサユニット204は、デジタル署名を有する1つ又は複数のリソースを含む複合リソース文書を、通信ユニット210、記憶装置216又は入力/出力ユニット212を含むソースから受け取る。プロセッサユニット204は、複合リソース文書内の全てのリソースをリストアップした最新のマニフェストリソースを取得する。プロセッサユニット204は、デジタル署名内の生成署名参照リスト内の識別されたリソースを用いて生成ハッシュトークンを形成し、取得した復号鍵を用いてデジタル署名内に含まれる暗号化ハッシュトークンを復号して署名ハッシュトークンを形成する。プロセッサユニット204は、生成ハッシュトークンと署名ハッシュトークンとの少なくとも比較に応答して、署名正当性結果を生成する。代替的な実施形態において、コンピュータ実施の方法を含む図2のプログラムコード218はコンピュータプログラム222としてコンピュータ可読媒体220内にストアすることができる。別の例証的な実施形態において、複合リソース文書にデジタル署名する方法は、通信ファブリックと、通信ファブリックに接続され、コンピュータ実行可能プログラムコードを含むメモリと、通信ファブリックに接続された通信ユニットと、通信ファブリックに接続された入力/出力ユニットと、通信ファブリックに接続されたディスプレイと、通信ファブリックに接続されたプロセッサユニットとを備えた装置内で実施することができる。装置のプロセッサユニットはコンピュータ実行可能プログラムコードを実行して装置に対して方法を実行するように命令する。図5を参照すると、本開示の一実施形態による複合文書システムのブロック図が示される。複合文書システム500は、図2のデータ処理システム200のようなシステムに典型的な下層のオペレーティングシステムサービスのサポートを含む一組のコンポーネントの一例である。複合文書システム500は、拡張署名ジェネレータ502、拡張署名メタデータ504、マニフェストリソース506、URIリゾルバ508、オブジェクト要素510及び複合文書構造体512を含む多数の相互に関係するコンポーネントを含む。拡張署名ジェネレータ502は、XML命令文を処理する機能を提供して、用いられる適用可能なXML標準に適合するデジタル署名を生成する。署名ジェネレータは拡張されてURIリゾルバ508を含み、これがデジタル署名の作成中に必要なリソースを検索する。URIリゾルバ508は、共通リソース識別子を用いて複合文書内に含まれる特定のリソースを取得する。URIは本質的に参照リソースを検索する。署名ジェネレータと共にリゾルバを含めることにより、必要なリソースエントリが通常の市販のXML署名プロセッサにより検出できるようになり、リソースは、ローカルに複合リソース文書内で、又は遠隔にウェブサーバ上で検索される。デジタル信号ライブラリ関数の呼び出し元は、URIリゾルバをデジタル信号ライブラリに供給する。URIリゾルバは、典型的には、ジャバJavaのようなプログラミング言語によって供給されるの一部分である。拡張署名メタデータ504は、署名特性要素として含めることができる付加的な項目を含む。この付加的な項目は、エンドユーザのロケール記述子、ロケールデータ及び署名時間、並びにUTCデータ及び署名時間を含む。マニフェストリソース506は、複合リソース文書内に含まれる全てのリソースのリストを含む。典型的には、複合リソース文書のプロセッサは、複合リソース文書にリソースが加えられるか又はそれから削除されるときはいつでも、マニフェストリソース506を更新する。しかし、本開示の目的のためには、デジタル署名を生成する時点及びデジタル署名を確認する時点において、マニフェストリソース506が複合リソース文書内のリソースを反映することだけが必要である。オブジェクト要素510は、複合文書の署名要素内の作者によって設計された特別のコンテンツを含む1つ又は複数の要素を含んだ一組の要素である。例示的な実施形態において、オブジェクト要素510は、署名された情報構造体内に生成される参照要素のリストから取り去るべきリソースを指示するリソース記述子のリストを宣言する特別に識別されるXML属性を含む。複合文書構造体512は、対話型ウェブ文書書式を表す複合リソース文書を含む要素の相対的位置に関する論理構造を定義する。典型的な要素はヘッダ、例えば、MIME型識別子、ウィザードページのリソース、イメージ、フォームページ、データインスタンス、添付書類書式モデル、対話制御及びマニフェストなどを含む。図6は複合文書構造体の一例を示す。図6を参照すると、本開示の一実施形態による、モノリシックな対話型文書から複合文書の書式への論理的移行のブロック図が示される。構造体600は時間と共に展開する論理的移行を表す。移行は処理中に起こる変換を示すのではなく、むしろこの表示は異なるモデルの類似点と相違点を示す。図中、Wはウィザードページを表し、Fはフォームページを表し、Dはデータインスタンスを表し、Mはフォームのモデルを表し、そしてICは対話コントローラを表す。構造体602は、モノリシックモデルを用いて文書を単一のXMLファイル書式として表す。構造体604は、構造体602のリソース分解図に、構造体602内の対話型ユーザインタフェース定義を含んだウィザードページ及びフォームページのリソースの間の管理移行を補助するための随意の対話コントローラを加えたものを表す。構造体606は、対話型文書に必要な全てのリソースを含む圧縮アーカイブとしてオープン文書書式ODFパッケージング書式を用いた、複合リソース文書書式の圧縮アーカイブ書式を表す。構造体606の文書書式は、構造体604及びそれ故に構造体602の種々のコンポーネントを別個のリソースとして内部に含む。構造体606はまた、MIME型608情報要素及びマニフェスト610リソースを含む。圧縮アーカイブ書式には、リソース及びディレクトリの付加、削除及び変更を許可し、そしてもちろんリソースのコンテンツ及びディレクトリリストを取得する機能を許可するアプリケーションプログラミングインタフェースを介してアクセスすることができる。通常、それらのリソース及びディレクトリの付加、削除及び変更はマニフェスト610リソースのコンテンツ内に反映される。図7を参照すると、本開示の実施形態による、複合文書、ウェブ上で利用可能な複合文書を作成するRESTサービス、ウェブアプリケーション層、及びエンドユーザ対話層の間の関係のブロック図が示される。例証的な一実施形態において、ウェブベースでのエンドユーザの複合文書との対話の許可には、文書に対して表現状態転送RESTアーキテクチャサービスのフロントエンドが用いられる。このサービスは、文書テンプレートをコピーして協同ビジネスプロセスのインスタンスの中心的なアーチファクトにすることを可能にする。ビジネスプロセスを通して全体の文書が伝送されるのではなく、インスタンス化された文書のRESTインタフェースへのアクセス制御のトークンがビジネスプロセス内を送られる。関係700は、ビジネスプロセス702の継続期間に適用され、アプリケーションクライアント層704と、アプリケーションサーバ層706、文書対話層708、及び複合ウェブリソース層との関連を与える。文書対話層708は、論理的に解凍された複合リソース文書712と対話するための複合リソース文書プロセッサ、RESTインタフェース714を提供する。RESTインタフェース714の2つの端点は、複合リソース文書内に指定されたXMLデジタル署名を生成し、複合リソース文書内の指定されたXMLデジタル署名を確認する機能を提供する。複合リソース文書プロセッサ、RESTインタフェース714は、論理的に解凍された複合リソース文書712と対話してそれらを修正するためのアクセスを、サーバ716の論理層及びクライアント718の論理層の両方に与える。図8を参照すると、本開示による、複合リソース文書のコンポーネントに関連するXML署名の論理位置のブロック図が示される。例示的な実施には、アパッチApacheXML署名ライブラリアパッチは、アパッチソフトウェアファウンデーションの登録商標であるが用いられるが、実施にはジャバJavaに組み込まれたXML署名機能を用いることもできる。例示的な実施形態における複合リソース文書802に関する論理関係800は、URIリゾルバをXML署名ジェネレータに供給して、署名ジェネレータが複合リソース文書のリソースを検出できるようにする。複合リソース文書802は、ロゴ804、並びに、データインスタンス810及びデータインスタンス812を伴うフォームページ806及びフォームページ808を備える。データインスタンス812はさらにXML署名814含む。XML署名814を生成する前に、署名のマークアップがXFormインスタンスのXMLデータ内に以下の形で現れる。SignedInfo要素内において、XML署名は参照要素を用いて署名又は確認するための1つ又は複数のリソースをリストアップすることができる。リソースはURIによって指示され、これは例示的な実施においては本開示のURIリゾルバによって分解される。論理関係800は、複合リソース文書が何処にストアされているかに関わらず、データ層内でのXML署名814の論理位置、並びに、複合リソース文書802内の相対的参照リソースに対するXML署名814の機能を示す。一実施においてはRESTサービス内のリソース取得端点を用いることができるが、USIリゾルバを用いる例示的な実施では、XML署名機能がRESTインタフェース714の後方に、複合リソース文書プロセッサ714RESTインタフェースの実施の一部分として存在するので、複合リソース文書に直接アクセスする。XML署名ジェネレータ自体は、次に、参照要素内の変換要素を用いて各々のリソースをさらにフィルタリングする機能を提供する。最終的にリソースのハッシュダイジェストが計算される。署名生成中、ハッシュはDigestValue要素内にストアされる。確認中、計算されたハッシュがDigestValueと比較されてリソースが修正されているかこれは署名を無効化することになるどうかが判断される。署名を生成しているときに、ひとたび各々のリソースのDigestValueが計算され参照要素内にストアされると、SignedInfo要素上を参照されたいを含む全体のハッシュが計算され、署名者の秘密鍵を用いて暗号化され、ベース64でコード化され、SignatureValue要素内にストアされる。署名確認中、DigestValueの値が、確認時におけるリソースの計算されたハッシュとの等値性についてチェックされ、参照要素によって示される各々のリソースに対して等値が実現された場合に、SignedInfoのハッシュが取得され、署名生成時にSignatureValue要素内にストアされ、ベース64でデコードされ、復号されたハッシュ値との等値性に関して比較される。いずれかのDigestValue又はSignatureValueの確認中に計算されたハッシュとの非等値性により、無効結果が生成される。そうでない場合には、コア確認は成功結果を報告し、アプリケーションには、鍵の有効期限、鍵の取消し、発行者の正当性、及び信頼できる鍵リスト内のメンバーシップなどの2次チェックを自由に行える。慣行のURIリゾルバに加えて、本開示の方法は、エンドユーザの秘密鍵材料を必要とするSignatureValueの最終的暗号化からDigestValue計算を分離することによって、XML署名ジェネレータの標準的な挙動に過負荷をかける。XML署名ジェネレータは、本開示の方法においてはサーバ上にRESTサービス実施714の一部分として配置される。本開示の方法は、ダミー秘密鍵を与えてXML署名ジェネレータがSignatureValueを生成できるようにする。生成されたSignedInfoはクライアントマシーンに返される。SignedInfoはハッシュ化され、そのハッシュはユーザの秘密鍵を用いて暗号化される。本開示の方法は、RESTインタフェース714内に別個のREST端点を設けて、最終的な正しいSignatureValueをデジタル署名内に設定できるようにする。署名確認は、署名者の公開鍵を必要とするだけであるので、同様の過負荷を必要としない。標準的なXML署名システムは複数のリソースに署名を与え、複合文書上の基本的なデジタル署名を作成するのに用いられる。しかし、複合文書上のデジタル署名は安全にするためのサブトラクションフィルター機構を必要とする。デフォルト設定を用いると、本開示の方法の例示的な実施は、複合文書のためのデジタル署名生成ステップに、指定されたデジタル署名のSignedInfoに関する参照要素のリストを作成する前処理ステップで過負荷をかける。一実施例において、参照リストは以下のように作成することができる。Rに関する参照の事前存在に対する条件付きテスト上記の5番目のテキスト行は、デジタル署名マークアップが、複合リソース文書内の特定のリソースについての変換を表明することを可能にする。デジタル署名マークアップによって特に参照されなかったいずれのリソースもデジタル署名マークアップに加えられ、それゆえに全体として署名される。従ってデフォルト設定においては、SignedInfoは、既存の参照及びそれぞれの可能な変換によって指示されるものを除いて全体の複合リソース文書に署名するように拡大されるこれは個々のリソースのセキュリティのためのサブトラクション変換であると考えられる。例示的な一実施形態において、contentxmlはページナビゲーション及び他の対話を管理することに関連する制御構造体のみを含み、それゆえに例示的なプロトタイプは、contentxmlのリソースに自動的には署名しないが、しかしデジタル署名マークアップの作者はcontentxmlのリソース又はその任意の部分に、URIcontentxmlを伴う参照を付け加えることによって署名することができる。デジタル署名マークアップを含むリソースはまた、この例示的な実施形態により参照要素が生成されるリソースから削除される。このリソースは、デジタル署名を生成する一環として変更する必要があり、それ故に、このリソースは特に包まれた署名として取り扱う必要がある。複合リソース文書内の1つのリソースはマニフェスト610である。従って、署名後に何れかのリソースが複合リソース文書に加えられ又はそれから削除される場合には、マニフェスト610は変更され、その結果マニフェスト610を保護する参照のDigestValueは適合しなくなり、これにより無効の署名正当性結果が生成されることになる。実際の生成された署名は、署名時に存在したリソースに、署名済み参照要素内で表明された何れかの変換によって許可された以外の変更が何もなされていないことを保証する。参照要素が署名されるので、リソースに対して許可される変更は、署名生成時に存在する参照変換においてデジタル署名マークアップの作者によって表明されたものだけである。XML署名標準は、作者がオブジェクト要素を用いて署名要素内に特別なコンテンツを含めることを可能にする。例示的な設計には、例示的な実施のデフォルト動作を無効にする機能が用いられる。実施例において、特別に認識されたXML属性を持つオブジェクト要素は、SignedInfo内に生成される参照要素のリストから取り去るべきリソースを指示するリソース記述子のリストを宣言する。リソース記述子は以下に示すように、ワイルドカード検索パターンを許可する。所与のリソース記述子と一致するリソースのサブトラクションを可能にすることにより、本開示の機構は、デジタル署名マークアップの作者が、エンドユーザが署名を付けられた後の複合リソース文書に特定のリソースを加えるか又はそれから削除できるようにすることを可能にする。例示的な設計において、オブジエクトは、SignedInfoの参照要素のリストに自動的に加えられ、デジタル署名により保護される。特別のオブジェクトを含めることにより、本方法はマニフェスト610リソースに関する参照にサブトラクション変換を自動的に加えるようになり、デジタル署名が生成されるときにマニフェスト610リソースに対して生成されるハッシュ値を無効にせずに、リソース記述子と一致するリソースを付加又は削除することが可能になる。さらに、例示的な設計は、署名生成前にデジタル署名マークアップに付加的な情報を自動的に書き込み署名する。別のオブジェクト要素が、選択されたSignatureProperties要素内に基本署名メタデータを書き込むために加えられる。書き込まれた特定のメタデータ項目は、典型的には、エンドユーザ署名者ロケール記述子、署名のローカル日時、及び署名時のUTCデータを含む。このメタデータオブジェクトに対する参照は自動的にSignedInfoに加えられてメタデータをデジタル署名によって保護する。例証的な実施形態はまた、KeyInfo要素を、X509SubjectName及びX509Certificate要素を含むX509Dataによって完全にし、KeyInfo要素に対する参照はまたSignedInfoに加えられる。署名メタデータ及びKeyInfoコンテンツは、XML最新電子署名XAdESによって指定される基本的セキュリティ要件に適合するための補助となる。さらに、例証的な実施形態の設計はXML署名に基づくので、例えば、署名に対する認証済みタイムスタンプの付加などのXAdES要件は本来的にサポートされる。図9を参照すると、本開示によるマニフェストのコード断片の例が示される。署名確認に関して、例示的実施形態の設計の重要な態様は、ODFパッケージング上の複合リソース文書書式に基礎を置くものであり、これは複合リソース文書内のリソースのうちの1つが、全てのリソースをリストアップするマニフェストであることを意味する。マニフェスト900は、複合リソース文書内の全てのリソースのリストを与える。マニフェスト900内のリソース、例えば、loan1xhtml、loan2xhtml及びloan3xhtmlは、データリソースloanInstancexml内に配置されている情報を収集するための段階的なユーザインタフェースを提供する。gendefaultcss及びformatjsのような他のファイルは、複合リソース文書のユーザインタフェース外観及びランタイム動作に寄与する。図10を参照すると、本開示の種々の実施形態による、複合リソース文書テンプレート内のXMLデータのコード断片の例が示される。この実施例において、ローンを探すユーザのために、文書テンプレートが初めにインスタンス化されて特定のビジネスプロセスを起動するとき、loanInstancexmlの初期コンテンツは図10のコード断片に示すようになる。コード断片1000において、要素、要素1002の初期設定は、なにも要素を含まない。参照要素が存在しない理由は、本開示の設計がXML署名参照リストにサブトラクションセマンティックを与えているからであり、このことはマニフェスト内にリストアップされている参照は署名生成時に自動的に含まれることになり、確認時に自動的にチェックされることになることを意味する。図11を参照すると、本発明の種々の実施形態による、記入された図10の複合リソース文書内のXMLデータのコード断片の例が示される。ひとたびユーザがloanxhtmlを用いてデータ記入体験を完了すると、データはコード断片1100のように見えることになる。ここでデータ値が以前に空であったテンプレートフィールド1102に入る。図12を参照すると、本発明の種々の実施形態による、複合リソース文書署名定義を含むコード断片の例が示される。コード断片1200は、一組の参照、マニフェスト及びデジタル署名を含む、図9、図10及び図11からの情報を用いて完成した文書を表す。ユーザが、図10の要素1002内に準備されている署名動作を呼び出すとき、本開示のプロセスは、loanInstancexml、例えば要素1202に関する同じ文書参照を加えるが、ここで、URI=は生成中の署名がそれ自体から削除されることを可能にし、参照1204、参照1206及び参照1208などのマニフェスト中にリストアップされている全ての他のリソースに関する参照要素を加える。manifestxmlファイル、マニフェスト1210も同様に加えられる。要素1212のデジタル署名値が同様に示される。要素1212は、本開示のプロセスが参照要素を生成した後で署名値要素のコンテンツを生成するコアデジタル署名生成動作の前の複合リソース文書定義のsignedinfo部分のコンテンツを示す。署名確認動作は、manifestxmlに対する参照を確認することによって、望ましくないファイルの付加又は削除が行われていないことを保証する。マニフェストと実際のアーカイブコンテンツとの間に不一致があるときは、ODFパッケージ文書プロセッサは文書をロードしないことが想定されている。代替の実施では、署名確認時における参照及びマニフェストパリティに関して簡単にチェックすることができる。別の実施例において、2人又はそれ以上の交付金申請者がそれぞれの個人情報を記入し、履歴書のコピーを添付し、文書にデジタル署名し、完成のためにワークフローシステムに文書を次の申込者に送らせることが予想される交付金申請が示される。第1のユーザにより作成されるデジタル署名は、他の申請者に対応するデータファイルサブツリー及び他の申請者により作成された添付ファイルを取り去る必要がある。2つの前述の例外を除いて、ユーザインタフェース、ユーザ体験、又は署名するユーザのデータ若しくは添付書類を記述する複合リソース文書内の全ての他のファイル、それゆえに全てが署名されなければならない。ファイルを添付する任意の機能は、より多くのXHTMLページ、CSSファイル、JSファイルなどを複合リソース文書内に配置することを可能にする。さらに、contentxmlファイルはwhichxhtmlpageshouldbeshownfirstのような制御構造部を含む故にcontentxmlファイルが削除されるので、いずれかの新しく加えられたファイルは、第1の署名者が署名したものに関して誤った要求をし得る新しい別のユーザ体験を加える可能性がある。誤った要求を行う可能性は、XML署名の参照リストのレベルに至るまでサブトラクションフィルタリングする方針をとることによって防止される。図13を参照すると、本開示の種々の実施形態による、参照リストの生成を示す複合リソース文書署名定義のコード断片の例が示される。本開示の種々の実施形態により提供されるサブトラクションフィルタリングのゼロの場合は、従来技術と比較して重要な動作変化である。デフォルトにより、XML署名はアプリケーション設計者が参照要素を用いて署名されるべきリソースをリストアップすることを要求する。複合リソース文書において、アプリケーション設計者はテンプレートを作成し、典型的にはデジタル署名機能を含めるように決定する。しかし、実行時において、エンドユーザは作成されたテンプレートのインスタンスを修正してビジネスプロセスを推進する必要がある。予想されるエンドユーザの動作は新しいファイルを複合リソース文書に添付する。従って、署名生成の実行時に署名する必要のあるリソースの全てをアプリケーション設計時に参照要素としてリストアップすることは不可能である。その代りに、複合リソース文書プロセッサの拡張署名ジェネレータが、デジタル署名が生成される時に参照要素のリストを作成する必要がある。従って、複合リソース文書内のマニフェストを含む各々のリソースに関する参照要素ジェネレータを生成するステップで署名動作を拡張することが重要である。これは、署名から複合リソース文書内のゼロ個のリソースを取り去る場合である。図10、図11及び図12のコード断片は、ゼロ個のファイルが取り去られるこの場合の例を示した。しかし、テキストだけは、署名生成プロセスの直前及び完全署名生成プロセスの直後のマークアップを示した。以前の例は、参照リストを生成するデジタル署名拡張後、及びコアデジタル署名生成の前の時点での即時のマークアップを示さなかった。図13は付加的なマークアップの実例をコード断片1300として与える。要素1302は署名要素を定義し、要素1304は、本開示の方法の種々の実施形態により自動的に生成される参照要素の1つを定義する。要素1304を含む一組の参照要素がSignedInfo内に生成され、そのおのおのは空のDigestValue要素を有する。同様にSignatureValueも空である。前に説明した署名拡張の後、コア署名生成の前に、例えば、署名時間及び場所などの基本署名プロパティ並びに署名に対する別の参照を含むようにdsObjectを加えるステップを含むさらに別のステップを行うことができる。別の例においては、dsKeyInfoを加えてデジタル署名証明書及び署名者のサブジェクト名をストアすることになる。同様にKeyInfoに署名するのに、さらに別の参照を自動的に加えることができる。最終的にコアデジタル署名ジェネレータが呼び出されて、DigestValueコンテンツ及びSignatureValueコンテンツが生成される。拡張署名生成の最終結果の一例を図12のコード断片1200のマークアップ例の内部に示す図14を参照すると、本開示に種々の実施形態による、複数の署名者を有し、変換されるリソースを指定する手段を示す複合リソース文書定義のコード断片の例が示される。図13に関して上で説明したように、XML署名参照リストを、デフォルトではゼロ個の要素を取り去るサブトラクションフィルターとして扱う際の値がある。例えば、参照リストは、事前にアプリケーションの設計者複合リソース文書のテンプレートの作成者によってではなく、署名動作の拡張として自動的に生成される。従って、本開示の機能は、文書が複合リソース文書であるとき、特にエンドユーザが、元の文書テンプレート内で利用できるよりも多くのリソースを文書に加えることができるとき、文書全体に署名する方法の実施を可能にする。さらに、本開示の方法は、参照要素が既に与えられているものには何にでも自動的に生成された参照を加え、アプリケーション設計者、即ち複合リソース文書のテンプレートの作成者が、本開示の方法により生成されるものに加えて署名情報を選ぶことができるようにする。例えば、アプリケーション論理は、署名内のdsObject内に情報を生成することができ、署名は、dsObjectに署名するに関連して設定することができる。最も重要なことには、本開示のプロセスは、自動的に生成された参照要素をSignedInfo内の参照要素リストに併合し、各々のリソースがSignedInfo内に予め存在する参照を未だ有さない場合にだけ、そのリソースに関する参照を効果的に加える。本開示の方法の実施が参照を加えるとき、参照はリソース全体への署名をもたらすので、本開示の方法は、アプリケーション設計者による特定のリソースに適用された任意の変換、又は複合リソース文書プロセッサの代替の態様に対応する。一実施例において、前に説明したローン申請が署名者-連署者シナリオを満たすように設計される。loanInstancexmlファイル内のデータがコード断片1400内に表される。第1の署名1402並びに第2の署名1404が与えられる。第2の署名者の署名1404は以前の実施例の署名と同一の形態であるが、第1の署名1402は既に、それ自体包まれた署名だけでなく第2の署名者の署名もまた取り去るURIに対する参照を含み、第2の署名は第1の署名が付けられた後で生成される必要がある。従って、本開示の方法が第1の署名1402に関する参照要素を生成するとき、URI参照は、既に存在するために生成されない。図15を参照すると、本開示の種々の実施形態による、参照生成を制御するためのパターンを指定するコード断片の一例が示される。前の例のコード断片における構成要素は、サブトラクションフィルターの第1のステップを記述し、そのステップにおいては、明示的にリストアップされたものだけに署名するのではなく、利用可能な全てのものに署名するデフォルトのコンテキストが用いられる。複合リソース文書レベルで十分に機能付与されたサブトラクションフィルタリングにより、アプリケーション設計者は、本開示の方法を用いるときにどの付加的参照が生成されてはならないかを、パターンによって指定することができる。以前の実施例において、ワイルドカード正規表現シンタックスが用いられたが、XPath表現を用いることもできる。この実施例においては、署名が付けられて、複合リソース文書内へのファイルのその後の付加が、attchmentsディレクトリのような特定のディレクトリにおいてのみ可能になる。コード断片1500のマークアップは、要素1502が、リソースサブトラクションの明示的なパターンを指定する一例を与え、そのパターンは本実施例においてはユーザがリソース添付ファイルの付加又は削除を許可された添付サブディレクトリ内の全てのリソースに適合する。図16を参照すると、本開示の種々の実施形態による、生成署名参照リストから特定のリソースをフィルタリングし、それにより、図15のオブジェクトを用いて特定のリソースに関する参照生成を抑制するコード断片の一例が示される。本開示の方法は、図15のコード断片1502内で定義されたオブジェクトに応答して、参照を特別のdsObjectに加え、その結果署名がフィルターに署名し、manifestxml参照を修正して記述子に適合するファイルエントリ要素を取り去り、与えられた記述子に適合するリソースに関する参照の生成を抑制する。コード断片1600を用いる別の実施例は、要素1602のリソース記述子によって、styleサブディレクトリからファイルをフィルタリングする。生成されたURI参照要素は、要素1604、即ち署名のサブトラクション変換及びリソース記述子オブジェクトに関するユニオンを収容する。styleで始まるURI属性を有する参照要素は、リスト内に現れない。manifestxmlに対する参照要素1606は、記述子に適合するファイルエントリ要素を削除するサブトラクションフィルターを収容する。図17を参照すると、本開示による、複合リソースのためのデジタル署名を生成する方法のフローチャートが示される。方法1700は、図5の複合文書システム500を用いる方法の一例である。方法1700は開始ステップ1702して、少なくとも1つのリソースを含む複合リソース文書を受け取るステップ1704。方法1700は、複合リソース文書内の全てのリソースをリストアップする最新のマニフェストリソースを取得するステップ1706。方法1700は、最新のマニフェストリソース内のリソースのリストから取り去るべきゼロ、1つ又は複数のリソースを指示して、署名されるべき識別されたリソースの生成署名参照リストを作成するステップ1708。次に署名されるリソースを参照し、除去されるリソースを含まないことを確認する。例示的な一実施形態において、生成署名参照リストを生成することは、オブジェクトを示す参照を含めることをさらに含み、ここでオブジェクトは、参照リストを作成するためのリソースリストから取り去られるリソースのリストを示すリソース記述のリストを宣言する。方法1700は生成署名参照リスト内の識別されたリソースを用いてハッシュトークンを生成し、署名ハッシュトークンを形成するステップ1710。例示的な実施形態において、ハッシュトークンの生成は、参照リスト内の1つ又は複数のリソースを選択して、選択された変換済みリソースを形成し、参照リストからの残りのリソースは未変換リソースを形成するようにすることと、選択された変換済みリソースと組み合せた未変換リソースを用いて、デジタル署名変換を選択された変換済みリソースに適用してハッシュトークンを生成することとを含む。特に、現行のW3CXML署名標準に適合する例示的な実施形態は、そのURI属性が参照リスト内のリソースを指示する既存の参照要素に関する署名SignedInfo要素を分析し、そしてこの例示的な実施形態は、既存の参照要素の何れとも対応しない参照リストリソースに関する参照要素のみを生成する。従って、各々の既存の参照要素は、変換要素を含む可能性があり、そうでなければステップ1708においてリソースに対して生成されることになる参照要素を無効にし、そしてこの方法から結果として得られる参照要素のリストがステップ1710において署名ハッシュトークンを生成するのに用いられる。例示的な実施形態において、署名ハッシュトークンを生成することは、URIリゾルバを用いて参照リスト内の1つ又は複数のリソースのコンテンツを取得することと、参照リスト内の少なくとも1つのリソースのダイジェスト値を用いて署名ハッシュトークンを生成することとのうちの少なくとも1つをさらに含むことができる。特に、現行のW3CXML署名標準に適合する例示的な実施形態においては、署名値ハッシュトークンは、参照リスト内の全てのリソースの実際のコンテンツではなく、ダイジェスト値に基づいて計算される。方法1700は、秘密鍵を用いて署名ハッシュトークンを暗号化してデジタル署名を作成しステップ1712、その後終了するステップ1714。図18を参照すると、本開示による、図17の複合リソースに関するデジタル署名を確認する方法のフローチャートが示される。方法1800は、図5の複合文書システムを用いる方法の一実施例である。方法1800は開始ステップ1802して、デジタル署名を有する1つ又は複数のリソースを含む複合リソース文書を受け取るステップ1804。方法1800は、複合リソース文書内の全てのリソースをリストアップする最新のマニフェストリソースを取得するステップ1806。方法1800は、デジタル署名内の生成署名参照リスト内の識別されたリソースを用いて、生成ハッシュトークンを形成するステップ1808。方法1800は、取得した復号鍵を用いてデジタル署名内に含まれる暗号化ハッシュトークンを復号し、署名ハッシュトークンを形成するステップ1810。生成ハッシュトークンと署名ハッシュトークンとの少なくとも比較に応答して、方法1800は署名正当性結果を生成しステップ1812、その後終了するステップ1814。図19を参照すると、本開示による、図18の署名正当性結果を生成する方法のフローチャートが示される。方法1900は、生成リソースハッシュトークンと、ステップ1810において復号されたデジタル署名ハッシュトークンとを比較し、そして図18のステップ1812において署名正当性結果を生成する方法の一実施例である。方法1900は開始ステップ1902して、生成ハッシュトークンが署名ハッシュトークンに等しいかどうかを判断する1904。生成ハッシュトークンが署名ハッシュトークンに等しいと判断されたとき、イエス結果が得られる。生成ハッシュトークンが復号された署名ハッシュトークンに等しくないと判断されたときは、ノー結果が得られる。ノー結果が得られるとき、方法1900は無効の署名正当性結果を生成しステップ1906、その後終了するステップ1908。判断は、最新のマニフェストリソースからのリソースのリストが、デジタル署名内の生成署名参照リスト内の識別されたリソースのリストに等しくないかどうか判断することをさらに含む。例示的な実施形態において、最新のマニフェストリソースからのリソースのリストは、生成署名参照リストを形成するときに取り去られるリソースのリストを指示するリソース記述のリストを宣言するオブジェクトによって示されるリソースが差し引かれた最新のマニフェストリソースからのリソースのリストを含む。ステップ1904においてイエスの結果が得られるとき、方法1900は復号鍵が有効かどうか判断するステップ1910。復号鍵が有効であるとの判断がなされるとき、イエスの結果が得られる。復号鍵が無効であるとの判断がなされるときはノーの結果が得られる。復号鍵が有効であるかどうかの判断は、鍵有効期限テスト、鍵取消しテスト、鍵発行者信用証明テスト、及び信用鍵リストテストを含む、ゼロ、1つ又は複数のテストを用いた復号鍵の正当性をテストすることを含む。復号鍵正当性テストの失敗に応答して、無効の署名正当性結果が生成される。ステップ1910においてイエスが得られるとき、方法1900は、生成ハッシュトークンが署名ハッシュトークンに等しいこと及び復号鍵正当性テストに失敗がないことの全体的判断に応答して有効の署名正当性結果を生成しステップ1912、その後終了するステップ1908。この判断は、最新のマニフェストリソースからのリソースのリストが、デジタル署名内の生成署名参照リスト内の識別されたリソースのリストに等しいかどうか判断することをさらに含む。例示的な実施形態において、最新のマニフェストリソースからのリソースのリストは、生成署名参照リストを形成するときに取り去られるリソースのリストを指示するリソース記述のリストを宣言するオブジェクトによって示されるリソースが差し引かれた最新のマニフェストリソースからのリソースのリストを含む。ステップ1910においてノーの結果が得られるとき、方法1900は無効の署名正当性結果を生成しステップ1906、その後前と同様に終了するステップ1908。従って、一実施形態において、複合リソース文書のためのデジタル署名を作成するコンピュータ実施の方法であって、複数のリソースにデジタル署名するための以前の解決策には無かったリソースサブトラクションフィルター機能を設けることによって複合リソース文書のためのデジタル署名に高度のセキュリティをもたらす方法を提示する。本開示のコンピュータ実施の方法は、少なくとも1つのリソースを含む複合リソース文書を受け取り、複合リソース文書内の全てのリソースをリストアップする最新のマニフェストリソースを取得し、最新のマニフェストリソース内のリソースのリストから取り去るべきゼロ、1つ又は複数のリソースを指示して、署名されるべき識別されたリソースの生成署名参照リストを生成し、生成署名参照リスト内の識別されたリソースを用いてハッシュトークンを生成して署名ハッシュトークンを形成し、秘密鍵を用いて署名ハッシュトークンを暗号化する。ハッシュトークンを生成することは、ゼロ、1つ又は複数のリソースに関して以前に指定された参照要素を用いて参照リストを形成することをさらに含むことができ、それにより、以前に指定された参照要素によって指示されるリソースの処理にデジタル署名変換を加える機能が可能になる。コンピュータ実施の方法の例証的な実施形態は、複合リソース文書のためのデジタル署名を確認する機能をさらに与える。コンピュータ実施の方法はさらに、デジタル署名を有する1つ又は複数のリソースを含む複合リソース文書を受け取り、複合リソース文書内の全てのリソースをリストアップする最新のマニフェストリソースを取得し、デジタル署名内の生成署名参照リスト内の識別されたリソースを用いてハッシュトークンを生成して生成ハッシュトークンを形成し、取得した復号鍵を用いてデジタル署名内に含まれる暗号化ハッシュトークンを復号して署名ハッシュトークンを形成し、生成ハッシュトークンと署名ハッシュトークンとの少なくとも比較に応答して署名正当性結果を生成する。従って、例証的な実施形態は、圧縮アーカイブを用いた、一つの文書内の個々のリソースがデータ記録、添付ファイル、ページ及び付加的な要素を表す、複合リソース文書を開示する。複合リソース文書は単一文書アーキテクチャの利点を保持すると同時に、ページ毎のユーザ体験を与えるのに必要な要素を取得するための全体的アーカイブのXML構文解析を実行する必要性をなくす。ワールドワイドウェブコンソーシアムW3CXML署名によって提供される、リソースに対する複数参照のサポートにより、W3CXML署名を複合リソース文書と共に用いてデジタル署名機能を実施することが可能になる。しかし、サブトラクションフィルタリング機能は単一のXMLリソースの処理に限定されない。同時に署名されるべき複数リソースのより高レベルの定義に対して、現在W3CXML署名標準は、特に署名SignedInfo要素内の参照要素のリストから得られるリソースのリストをリストアップする機能のみを提供する。既知の従来技術の解決策は通常、対話型文書のデジタル署名に関して、サブトラクションフィルタリングが可能であるが性能が不十分な単一XMLファイルとして文書を表すこと、及びより性能が良いがリソースレベルのサブトラクションフィルタリングが可能でない複合文書として文書を表すこと、を含む欠陥を有する。本開示の方法は、複合リソース文書の概念をサブトラクションフィルタリングと組み合せて、協同ビジネスプロセス内の複合リソース文書について同じレベルのデジタル署名セキュリティを達成すると同時に、また複合リソース文書によって提供される性能に著しい進歩をもたらす。図中のフローチャート及びブロック図は、本発明の種々の実施形態によるシステム、方法、及びコンピュータプログラムの可能な実施のアーキテクチャ、機能性、及び動作を示す。この点において、フローチャート又はブロック図内の各々のブロックは、モジュール、セグメント、又はコードの部分を表すことができ、これは指定された論理機能を実施する1つ又は複数の命令を含む。また、幾つかの代替的実施において、ブロック内に示された機能は図に示したのとは異なる順序で行われ得ることにも留意されたい。例えば、連続して示した2つのブロックは、実際には、実質的に同時に実行することができ、又はブロックは、関与する機能に応じて、場合により逆の順序で実行することができる。また、ブロック図及び/又はフローチャートの各ブロック、並びに、ブロック図及び/又はフローチャート内のブロックの組合せは、指定された機能及び動作を実行する専用ハードウェアをベースとするシステム、又は専用ハードウェア及びコンピュータ命令の組合せによって実施することができることにも留意されたい。添付の特許請求の範囲内の全てのミーンズ又はステッププラスファンクション要素の対応する構造体、材料、動作、及び等価物は、具体的に特許請求された他の特許請求要素と組み合せて機能を実施するための任意の構造体、材料、又は動作を含むことが意図されている。本発明の説明は、例証及び説明の目的で提示したものであり、網羅的であること又は本発明を開示した形態に限定することを意図したものではない。当業者には、本発明の範囲及び趣旨から逸脱することのない多くの修正及び変形が明白となるであろう。実施形態は、本発明の原理及び実際的用途を最も良く説明し、当業者が企図する特定の用途に適した種々の修正を有する種々の実施形態に関して本発明を理解することができるように選び説明した。本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又はハードウェア要素とソフトウェア要素の両方を含む実施形態の形をとることができる。好ましい実施形態において、本発明は、それらに限定されないが、ファームウェア、常駐ソフトウェア、マイクロコード、及び当業者が認識することができる他のソフトウェア媒体、を含むソフトウェアにおいて実施される。本発明は完全に機能するデータ処理システムの状況で説明したが、当業者であれば、本発明の方法は命令のコンピュータ可読媒体の形態及び種々の形態で配布することができること、及び、本発明は配布を実施するのに実際に用いられる特定のタイプの信号支持媒体に関係せずに等しく適用できることに留意することが重要である。コンピュータ可読媒体の例としては、書き込み可能型の媒体、例えばフロッピーディスク、ハードディスクドライブ、RAM、CDROM、DVD-ROM、並びに、伝送型媒体、例えば、デジタル及びアナログ通信リンク、例えば無線周波数及び光波伝送などの伝送形式を用いる有線又は無線通信リンクが挙げられる。コンピュータ可読媒体は、特定のデータ処理システム内で実際に用いるためにデコードされるコード化フォーマットの形態を取ることができる。プログラムコードをストアし及び/又は実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接又は間接に結合された少なくとも1つのプロセッサを含むことになる。メモリ要素には、プログラムコードの実際の実行中に用いられるローカルメモリ、大容量記憶装置、及び、実行中にコードを大容量記憶装置から読み出す必要のある回数を減らすための、少なくとも幾つかのプログラムコードの一時的記憶を提供するキャッシュメモリを含めることができる。入力/出力又はI/Oデバイスキーボード、ディスプレイ、ポインティングデバイスなどを含むが、それらに限定されないを、直接又は介在するI/Oコントローラを介してシステムに結合することができる。またネットワークアダプタをシステムに結合して、介在するプライベート又はパブリックネットワークにより、データ処理システムが他のデータ処理システム又は遠隔プリンタ又は記憶装置に結合できるようにすることができる。モデム、ケーブルモデム、及びイーサネットカードは現在利用できるタイプのネットワークアダプタのうちの一部に過ぎない。本発明の説明は、例示及び説明の目的で提示されたものであり、網羅的であること又は開示された形式の発明に限定することを意図するものではない。当業者であれば、多くの修正及び変形が明らかであろう。実施形態は、本発明の原理及び実際の適用を最も良く説明するように、及び、当業者以外であっても、考えられる特定の用途に適合するような様々な実施形態について本発明を理解できるように、選択され、説明されたものである。"