miyachi]さて技術的な説明は前回と前々回で終わったと考えています。最終回の今回はまず実際のサンプルファイルを見てみましょう。1.4.1/1.4.2でそれぞれ署名したES-A(保管タイムスタンプ付)のサンプルファイルです。弊社のLe-XAdESのVer1.5ベータ版で作成してあります。XAdES-A(v1.3.2)このページでは、インラインフレームを使用しています。XAdES-A(v1.3.2)のATS-1ハッシュ対象XAdES-A(v1.4.1)このページでは、インラインフレームを使用しています。XAdES-A(v1.4.1)のATS-1ハッシュ対象では内容をチェック/説明してみましょう。このサンプルでは検証情報発行の猶予期間は見ておりません。厳密にはエラーになるケースではありますがここでは構造のチェックの為に手軽に作成したと言うことでご理解下さい。保管タイムスタンプは2重に付与してあります。1.3.2のES-Aファイルを見てみましょう。UnsignedSignatureProperties要素の下を見て行きます。署名タイムスタンプ(SignatureTimeStamp要素)の"Id-STS-1"のTSA証明書に必要となる証明書群と検証情報(CRL)群はEncapsulatedTimeStamp要素のタイムスタンプトークン(RFC3161形式)の中に全て埋め込まれています。SignatureTimeStamp要素のすぐ後にあるCertificateValues要素とRevocationValues要素は全て署名証明書要の証明書群と検証情報(CRL)群となっています。その後に保管タイムスタンプ(ArchiveTimeStamp要素)が"Id-ATS-1"/"Id-ATS-2"と2重に付与されています。"Id-ATS-1"の方は署名タイムスタンプと同様に証明書群と検証情報(CRL)群をタイムスタンプトークン(RFC3161形式)の中に全て埋め込んでいます。1.3.2における一般的な保管タイムスタンプの追加方法となります。署名タイムスタンプ用の証明書パスとCRL群は埋め込みでは無くCertificateValues要素とRevocationValues要素に加えても構いません。1.4.1/1.4.2のES-Aファイルを見てみましょう。UnsignedSignatureProperties要素の下を見て行きます。署名タイムスタンプ(SignatureTimeStamp要素)の"Id-STS-1"のTSA証明書に必要となる証明書群と検証情報(CRL)群はその後にあるTimeStampValidationData要素の下にあるCertificateValues要素とRevocationValues要素の下にあります。TimeStampValidationData要素のすぐ後にあるCertificateValues要素とRevocationValues要素は全て署名証明書要の証明書群と検証情報(CRL)群となっています。1.3.2と同じですね。その後に保管タイムスタンプ(ArchiveTimeStamp要素)が"Id-ATS-1"/"Id-ATS-2"と2重に付与されていますが、その間に2番目のTimeStampValidationData要素が挟まれています。この2番目のTimeStampValidationData要素の下に最初の保管タイムスタンプ"Id-ATS-1"に関する証明書群と検証情報(CRL)群が格納されています。1.3.2の方がシンプルに見えますね。XMLとしてはシンプルですがその代わりにバイナリでASN.1/DER(BER)を解いてRFC3161形式のタイムスタンプトークンを扱う必要があります。1.4.1/1.4.2はXMLとしては複雑に見えますが同じCertificateValues/RevocationValuesの仕組みで証明書とCRLを保管出来ているので一貫性はあります。1.4.1/1.4.2の方が仕組みとしてはシンプルで美しく感じています。この辺りは立場やノウハウにより人によって異なるところでしょうね。あなたはどう思うでしょうか。1.4.1/1.4.2形式の保管タイムスタンプにする必要があると聞いています。1.4.1/1.4.2対応のアップデートが遅れています。1.4.1/1.4.2対応が出来ると良いのですがどうなりますか。1.4.1/1.4.2のシリーズは終了です。(2012-04-06)長期署名の技術は必要だと思っています。全4回をご覧頂いた方はお疲れ様でした。次回はPAdESとか書けると良いなぁと思ってます。コメントXAdES署名の例があってとても助かりました。NGスキーマを書いているのですが、この例を検証してみると妥当であると判断されました。本家のXSDスキーマのほうはチェックがとても甘く見えますね。xsd:anyを使いまくっているので、なんでも通ってしまいそう。LangEdge,Inc.。