jp.co.amano.etiming.atss3161
クラス TimeStampToken

java.lang.Object
  拡張jp.co.amano.etiming.atss3161.TimeStampToken

public class TimeStampToken
extends java.lang.Object

タイムスタンプトークンを表すクラスです。 このクラスは、タイムスタンプトークンの属性にアクセスするための方法を提供します。


コンストラクタの概要
TimeStampToken(byte[] timeStampToken)
          タイムスタンプトークンオブジェクトを生成し、 DER で符号化された形式 timeStampToken を使ってそのタイムスタンプトークンオブジェクトを初期化します。
 
メソッドの概要
 boolean equals(java.lang.Object other)
          このタイムスタンプトークンと、 指定されたオブジェクトが等しいかどうかを判定します。
 byte[] getEncoded()
          タイムスタンプトークンの DER で符号化された形式を新規バイト配列に格納して返します。
 java.security.cert.X509Certificate getSignerCertificate()
          タイムスタンプトークンから署名者のX.509 証明書を返します。
 TimeAttributeCertificate getTimeAttributeCertificate()
          タイムスタンプトークンから時刻監査証明書を返します。
 TSTInfo getTSTInfo()
          タイムスタンプトークンからタイムスタンプトークン情報を返します。
 int hashCode()
           DER で符号化された形式からこのタイムスタンプトークンのハッシュコード値を返します。
static byte[] removeTimeAttributeCertificate(byte[] timeStampToken)
          タイムスタンプトークンデータから時刻監査証明書を削除します。
 void validate(MessageImprint messageImprint, java.security.cert.X509Certificate tsaCert, java.util.Collection certificates, java.util.Collection crls)
          タイムスタンプトークンを検証します。
 void validate(MessageImprint messageImprint, java.security.cert.X509Certificate tsaCert, java.util.Collection certificates, java.util.Collection crls, java.util.Date date)
          指定した時刻を使用してタイムスタンプトークンを検証します。
 void validate(MessageImprint messageImprint, java.security.cert.X509Certificate tsaCert, java.util.Collection certificates, java.util.Collection crls, java.util.Date date, java.lang.String sigProvider)
          指定した時刻および署名プロバイダを使用してタイムスタンプトークンを検証します。
 void validate(MessageImprint messageImprint, java.security.cert.X509Certificate tsaCert, java.util.Collection certificates, java.util.Collection crls, java.lang.String sigProvider)
          指定した署名プロバイダを使用してタイムスタンプトークンを検証します。
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

TimeStampToken

public TimeStampToken(byte[] timeStampToken)
               throws ATSSDERParsingException
タイムスタンプトークンオブジェクトを生成し、 DER で符号化された形式 timeStampToken を使ってそのタイムスタンプトークンオブジェクトを初期化します。

パラメータ:
timeStampToken - タイムスタンプトークンの DER で符号化された形式
例外:
ATSSDERParsingException - 符号化エラーの場合
メソッドの詳細

equals

public boolean equals(java.lang.Object other)
このタイムスタンプトークンと、 指定されたオブジェクトが等しいかどうかを判定します。 other オブジェクトが instanceof TimeStampToken の場合、 DER で符号化された形式が取得され、 このタイムスタンプトークンの DER で符号化された形式と比較されます。

パラメータ:
other - このタイムスタンプトークンと等しいかどうかが判定されるオブジェクト
戻り値:
2 つのタイムスタンプトークンの DER で符号化された形式が一致した場合は true、そうでない場合は false

getEncoded

public byte[] getEncoded()
タイムスタンプトークンの DER で符号化された形式を新規バイト配列に格納して返します。

戻り値:
タイムスタンプトークンの DER で符号化された形式

getSignerCertificate

public java.security.cert.X509Certificate getSignerCertificate()
                                                        throws java.security.cert.CertificateException
タイムスタンプトークンから署名者のX.509 証明書を返します。 タイムスタンプトークンに署名者のX.509 証明書が含まれていない場合は nullを返します。

戻り値:
署名者の X.509 証明書。含まれていない場合は null。
例外:
java.security.cert.CertificateException - 証明書の符号化エラーが発生した場合

getTimeAttributeCertificate

public TimeAttributeCertificate getTimeAttributeCertificate()
                                                     throws java.security.cert.CertificateException
タイムスタンプトークンから時刻監査証明書を返します。 タイムスタンプトークンに時刻監査証明書が含まれていない場合は null を返します。

戻り値:
時刻監査証明書。含まれていない場合は null。
例外:
java.security.cert.CertificateException - 証明書の符号化エラーが発生した場合

getTSTInfo

public TSTInfo getTSTInfo()
タイムスタンプトークンからタイムスタンプトークン情報を返します。

戻り値:
タイムスタンプトークン情報

hashCode

public int hashCode()
DER で符号化された形式からこのタイムスタンプトークンのハッシュコード値を返します。

戻り値:
ハッシュコード値

removeTimeAttributeCertificate

public static byte[] removeTimeAttributeCertificate(byte[] timeStampToken)
                                             throws ATSSDERParsingException
タイムスタンプトークンデータから時刻監査証明書を削除します。
時刻監査証明書の含まれていないタイムスタンプトークンには何も行わず、timeStampToken データをそのまま返します。

パラメータ:
timeStampToken - 修正するタイムスタンプトークンの DER で符号化された形式
戻り値:
修正されたタイムスタンプトークンを含む新しいバイトデータ。 元のタイムスタンプトークンは変更しません。
例外:
ATSSDERParsingException - 符号化エラーの場合

validate

public void validate(MessageImprint messageImprint,
                     java.security.cert.X509Certificate tsaCert,
                     java.util.Collection certificates,
                     java.util.Collection crls)
              throws TSTFieldVerificationException,
                     java.security.GeneralSecurityException
タイムスタンプトークンを検証します。

本メソッドは引数 certificates, crls がそれぞれ null であるか否かによって以下の動作を行います。

certificates
非 nullnull
crls非 null(1)エラー
null(2)(3)

(1) certificates ≠ null 且つ crls ≠ null

  1. 指定されたタイムスタンプ対象データのメッセージダイジェストをタイムスタンプトークン内のものと比較します。
  2. タイムスタンプトークンの署名を検証します。
    • tsaCert に null 以外の値が指定された場合は署名検証用証明書としてこの証明書を使用します。
    • tsaCert に null が指定された場合は署名検証用証明書としてタイムスタンプトークン内の証明書を使用します。
  3. 上記で署名を検証した証明書の証明書パス検証を行います。
    • 証明書パス構築時には certificates から必要な証明書が検索されて使用されます。
    • 証明書パス中の証明書の失効確認時には crls から必要な失効リストが検索されて使用されます。

(2) certificates ≠ null 且つ crls=null

  1. 上記 (1) と同様です。
  2. 上記 (2) と同様です。
  3. 上記で署名を検証した証明書の証明書パス検証を行います。
    • 証明書パス構築時には certificates から必要な証明書が検索されて使用されます。
    • 証明書パス中の証明書の失効確認は行いません。

(3) certificates=null 且つ crls=null

  1. 上記 (1) と同様です。
  2. 上記 (2) と同様です。
  3. 証明書パス検証は行いません。

なお、署名検証にはデフォルトの署名プロバイダによって提供される署名検証エンジンを使用します。

パラメータ:
messageImprint - タイムスタンプ対象データのメッセージダイジェスト
tsaCert - 署名確認に使用するタイムスタンプ局の証明書。 null を指定した場合はタイムスタンプトークン内の証明書を使用する。
certificates - 証明書パス構築・検証に必要な、すべての証明書インスタンスが格納されたコレクション。 null を指定した場合は証明書パス構築・検証を行わない。
crls - 証明書パス構築・検証に必要な、すべての失効リストインスタンスが格納されたコレクション。null を指定した場合は失効リストを使用した失効確認を行わない。
例外:
InvalidMessageImprintException - 指定したタイムスタンプ対象データのメッセージダイジェストがタイムスタンプトークン内のものと一致しない場合
TSACertificateNotFoundException - tsaCert に null を指定したのにもかかわらずタイムスタンプトークン内に証明書が含まれていない場合
TSTFieldVerificationException - タイムスタンプトークンのフィールドに不整合がある場合
java.security.NoSuchAlgorithmException - サポートされていない署名アルゴリズムの場合
java.security.InvalidKeyException - 署名を確認する公開鍵が無効の場合
java.security.NoSuchProviderException - デフォルトの署名プロバイダがない場合
java.security.SignatureException - 署名検証エラーの場合
java.security.cert.CertificateException - 署名検証時に証明書の符号化エラーが発生した場合
ATSSCertPathValidationException - 証明書パス検証エラーの場合
java.security.GeneralSecurityException - セキュリティエラーが発生した場合
java.lang.IllegalArgumentException - certificates に同一の被認証者名を持つ 2 つ以上の証明書が格納されている場合
java.lang.IllegalArgumentException - certificates が null であり、crls が null でない場合

validate

public void validate(MessageImprint messageImprint,
                     java.security.cert.X509Certificate tsaCert,
                     java.util.Collection certificates,
                     java.util.Collection crls,
                     java.util.Date date)
              throws TSTFieldVerificationException,
                     java.security.GeneralSecurityException
指定した時刻を使用してタイムスタンプトークンを検証します。

本メソッドは証明書パス検証中に、引数 date に指定した時刻を使用して証明書および失効リストの有効期間を確認します。 date に null を指定した場合は現在時刻を使用します。
また、タイムスタンプ対象データのメッセージダイジェストとタイムスタンプトークンの署名のみの検証を行う場合には date に時刻を指定することはできません。

なお、署名検証にはデフォルトの署名プロバイダによって提供される署名検証エンジンを使用します。

パラメータ:
messageImprint - タイムスタンプ対象データのメッセージダイジェスト
tsaCert - 署名確認に使用するタイムスタンプ局の証明書。 null を指定した場合はタイムスタンプトークン内の証明書を使用する。
certificates - 証明書パス構築・検証に必要な、すべての証明書インスタンスが格納されたコレクション。 null を指定した場合は証明書パス構築・検証を行わない。
crls - 証明書パス構築・検証に必要な、すべての失効リストインスタンスが格納されたコレクション。 null を指定した場合は失効リストを使用した失効確認を行わない。
date - 証明書および失効リストの有効期間を確認する時刻。 null を指定した場合は現在時刻で有効期間を確認する。
例外:
InvalidMessageImprintException - 指定したタイムスタンプ対象データのメッセージダイジェストがタイムスタンプトークン内のものと一致しない場合
TSACertificateNotFoundException - tsaCert に null を指定したのにもかかわらずタイムスタンプトークン内に証明書が含まれていない場合
TSTFieldVerificationException - タイムスタンプトークンのフィールドに不整合がある場合
java.security.NoSuchAlgorithmException - サポートされていない署名アルゴリズムの場合
java.security.InvalidKeyException - 署名を確認する公開鍵が無効の場合
java.security.NoSuchProviderException - 指定された署名プロバイダがない場合
java.security.SignatureException - 署名検証エラーの場合
java.security.cert.CertificateException - 署名検証時に証明書の符号化エラーが発生した場合
ATSSCertPathValidationException - 証明書パス検証エラーの場合
java.security.GeneralSecurityException - セキュリティエラーが発生した場合
java.lang.IllegalArgumentException - certificates に同一の被認証者名を持つ 2 つ以上の証明書が格納されている場合
java.lang.IllegalArgumentException - certificates が null であり、crls が null でない場合
java.lang.IllegalArgumentException - certificates が null であり、date が null でない場合
導入されたバージョン:
1.10
関連項目:
validate(MessageImprint, X509Certificate, Collection, Collection)

validate

public void validate(MessageImprint messageImprint,
                     java.security.cert.X509Certificate tsaCert,
                     java.util.Collection certificates,
                     java.util.Collection crls,
                     java.util.Date date,
                     java.lang.String sigProvider)
              throws TSTFieldVerificationException,
                     java.security.GeneralSecurityException
指定した時刻および署名プロバイダを使用してタイムスタンプトークンを検証します。

本メソッドは証明書パス検証中に、引数 date に指定した時刻を使用して証明書および失効リストの有効期間を確認します。
また、引数 sigProvider に指定した署名プロバイダによって提供される署名検証エンジンを使用して署名の検証を行います。

パラメータ:
messageImprint - タイムスタンプ対象データのメッセージダイジェスト
tsaCert - 署名確認に使用するタイムスタンプ局の証明書。 null を指定した場合はタイムスタンプトークン内の証明書を使用する。
certificates - 証明書パス構築・検証に必要な、すべての証明書インスタンスが格納されたコレクション。 null を指定した場合は証明書パス構築・検証を行わない。
crls - 証明書パス構築・検証に必要な、すべての失効リストインスタンスが格納されたコレクション。 null を指定した場合は失効リストを使用した失効確認を行わない。
date - 証明書および失効リストの有効期間を確認する時刻。 null を指定した場合は現在時刻で有効期間を確認する。
sigProvider - 署名プロバイダ名
例外:
InvalidMessageImprintException - 指定したタイムスタンプ対象データのメッセージダイジェストがタイムスタンプトークン内のものと一致しない場合
TSACertificateNotFoundException - tsaCert に null を指定したのにもかかわらずタイムスタンプトークン内に証明書が含まれていない場合
TSTFieldVerificationException - タイムスタンプトークンのフィールドに不整合がある場合
java.security.NoSuchAlgorithmException - サポートされていない署名アルゴリズムの場合
java.security.InvalidKeyException - 署名を確認する公開鍵が無効の場合
java.security.NoSuchProviderException - 指定された署名プロバイダがない場合
java.security.SignatureException - 署名検証エラーの場合
java.security.cert.CertificateException - 署名検証時に証明書の符号化エラーが発生した場合
ATSSCertPathValidationException - 証明書パス検証エラーの場合
java.security.GeneralSecurityException - セキュリティエラーが発生した場合
java.lang.IllegalArgumentException - certificates に同一の被認証者名を持つ 2 つ以上の証明書が格納されている場合
java.lang.IllegalArgumentException - certificates が null であり、crls が null でない場合
java.lang.IllegalArgumentException - certificates が null であり、date が null でない場合
導入されたバージョン:
1.10
関連項目:
validate(MessageImprint, X509Certificate, Collection, Collection)

validate

public void validate(MessageImprint messageImprint,
                     java.security.cert.X509Certificate tsaCert,
                     java.util.Collection certificates,
                     java.util.Collection crls,
                     java.lang.String sigProvider)
              throws TSTFieldVerificationException,
                     java.security.GeneralSecurityException
指定した署名プロバイダを使用してタイムスタンプトークンを検証します。

本メソッドは引数 sigProvider に指定した署名プロバイダによって提供される署名検証エンジンを使用して署名の検証を行います。

パラメータ:
messageImprint - タイムスタンプ対象データのメッセージダイジェスト
tsaCert - 署名確認に使用するタイムスタンプ局の証明書。 null を指定した場合はタイムスタンプトークン内の証明書を使用する。
certificates - 証明書パス構築・検証に必要な、すべての証明書インスタンスが格納されたコレクション。 null を指定した場合は証明書パス構築・検証を行わない。
crls - 証明書パス構築・検証に必要な、すべての失効リストインスタンスが格納されたコレクション。 null を指定した場合は失効リストを使用した失効確認を行わない。
sigProvider - 署名プロバイダ名
例外:
InvalidMessageImprintException - 指定したタイムスタンプ対象データのメッセージダイジェストがタイムスタンプトークン内のものと一致しない場合
TSACertificateNotFoundException - tsaCert に null を指定したのにもかかわらずタイムスタンプトークン内に証明書が含まれていない場合
TSTFieldVerificationException - タイムスタンプトークンのフィールドに不整合がある場合
java.security.NoSuchAlgorithmException - サポートされていない署名アルゴリズムの場合
java.security.InvalidKeyException - 署名を確認する公開鍵が無効の場合
java.security.NoSuchProviderException - 指定された署名プロバイダがない場合
java.security.SignatureException - 署名検証エラーの場合
java.security.cert.CertificateException - 署名検証時に証明書の符号化エラーが発生した場合
ATSSCertPathValidationException - 証明書パス検証エラーの場合
java.security.GeneralSecurityException - セキュリティエラーが発生した場合
java.lang.IllegalArgumentException - certificates に同一の被認証者名を持つ 2 つ以上の証明書が格納されている場合
java.lang.IllegalArgumentException - certificates が null であり、crls が null でない場合
関連項目:
validate(MessageImprint, X509Certificate, Collection, Collection)


Copyright(C) 2005-2006 AMANO Corporation. All Rights Reserved.