public class LTVPDFTimeStampGenerator
extends java.lang.Object
修飾子とタイプ | フィールドと説明 |
---|---|
static int |
CANT_EXTEND_VALIDITY_PRIOD
有効期間が延長されなかったことを表します。
|
static int |
EXIST_OF_TIMESTAMPS_CANT_EXTEND
有効期間が延長されなかったタイムスタンプが存在したことを表します。
|
static int |
EXTEND_VALIDITY_PRIOD
有効期間が延長されたことを表します。
|
static int |
NORMAL
デフォルトの生成モードで、
PDFに対してタイムスタンプが付与できるか否かの確認を行った後、タイムスタンプの付与を行います。
|
static int |
POSTPROCESSINGVALIDATION
PDFに対してタイムスタンプが付与できるか否かの確認を行った後、タイムスタンプの付与を行い、
また、PDFにタイムスタンプを付与した後、付与したPDFに対してPDFの検証を行います。
|
static int |
VALIDATIONONLY
PDFに対してタイムスタンプが付与できるか否かの検証のみを行い、タイムスタンプの付与は行いません。
|
static int |
VERIFY_TARGET_AMANO
署名辞書のFilterの値がetim_AMANO.EVIDENCEのタイムスタンプを有効期間延長対象・検証対象とします。
|
static int |
VERIFY_TARGET_FULL
署名辞書のFilterの値がetim_AMANO.EVIDENCEまたは署名辞書のTypeの値がDocTimeStamp
かつ署名辞書のFilterの値がAdobe.PPKLiteのタイムスタンプを有効期間延長対象・検証対象とします。
|
コンストラクタと説明 |
---|
LTVPDFTimeStampGenerator(TimeStampProtocol timeStampProtocol)
タイムスタンプトークン取得の際に使用するタイムスタンププロトコルを指定して
LTVPDFTimeStampGenerator を作成します。
|
修飾子とタイプ | メソッドと説明 |
---|---|
java.io.InputStream |
generate(byte[] pdfDocument)
バイト配列に格納されたPDF 文書に対して有効期間延長タイムスタンプを生成します。
|
java.io.InputStream |
generate(byte[] pdfDocument,
char[] userPassword,
char[] ownerPassword)
PDF 標準セキュリティのユーザーパスワードおよびオーナーパスワードを指定して、バイト配列に格納された PDF 文書に対して 有効期間延長タイムスタンプを生成します。
|
java.io.InputStream |
generate(java.io.RandomAccessFile pdfDocument)
ファイルから読み込んだ PDF 文書に対して有効期間延長タイムスタンプを生成します。
|
java.io.InputStream |
generate(java.io.RandomAccessFile pdfDocument,
char[] userPassword,
char[] ownerPassword)
PDF 標準セキュリティのユーザーパスワードおよびオーナーパスワードを指定して、ファイルから読み込んだ PDF 文書に対して有効期間延長タイムスタンプを生成します。
|
static LTVPDFTimeStampGenerator |
getAmanoInstance(byte[] license,
char[] password,
java.util.Collection certificates,
ProxyHost proxyHost)
アマノタイムスタンプ局に接続するために必要な設定を行った LTVPDFTimeStampGenerator オブジェクトを返します。
|
int |
getExtensionResult()
有効期間延長タイムスタンプをPDFに埋め込みに成功したとき、有効期間の
延長がされたかどうかを返します。
|
int |
getGenerationMode()
生成モードを返します。
|
TimeStampProtocol |
getTimeStampProtocol()
有効期間延長タイムスタンプ生成時に使用する TimeStampProtocol を返します。
|
TSTValidator |
getTSTValidator()
タイムスタンプトークンの検証方法を返します。
|
int |
getVerifyTarget()
不可視タイムスタンプの有効期間延長対象・検証対象を返します。
|
void |
setGenerationMode(int mode)
生成モードを設定します。
|
void |
setTimeStampProtocol(TimeStampProtocol timeStampProtocol)
有効期間延長タイムスタンプ生成時に使用する TimeStampProtocol を設定します。
|
void |
setTSTValidator(TSTValidator tstValidator)
タイムスタンプトークンの検証方法を設定します。
|
void |
setVerifyTarget(int target)
不可視タイムスタンプの有効期間延長対象・検証対象を設定します。
|
public static int EXTEND_VALIDITY_PRIOD
public static int CANT_EXTEND_VALIDITY_PRIOD
public static int EXIST_OF_TIMESTAMPS_CANT_EXTEND
public static final int VERIFY_TARGET_FULL
public static final int VERIFY_TARGET_AMANO
public static final int NORMAL
public static final int VALIDATIONONLY
public static final int POSTPROCESSINGVALIDATION
public LTVPDFTimeStampGenerator(TimeStampProtocol timeStampProtocol)
timeStampProtocol
- タイムスタンプトークン取得の際に使用するタイムスタンププロトコルjava.lang.NullPointerException
- timeStampProtocol が null の場合public TimeStampProtocol getTimeStampProtocol()
setTimeStampProtocol(jp.co.amano.etiming.apl3161.TimeStampProtocol)
public void setTimeStampProtocol(TimeStampProtocol timeStampProtocol)
timeStampProtocol
- 有効期間延長タイムスタンプ生成時に使用する TimeStampProtocoljava.lang.NullPointerException
- timeStampProtocol が null の場合getTimeStampProtocol()
public TSTValidator getTSTValidator()
有効期間延長タイムスタンプ生成では、以下について、TSTValidatorを使用してタイムスタンプトークンの検証を行います。
LTVPDFTimeStampGenerator が作成されると、この値は null に初期化されます。
setTSTValidator(jp.co.amano.etiming.apl3161.TSTValidator)
public void setTSTValidator(TSTValidator tstValidator)
引数には、AmanoTSTValidatorのインスタンスを指定してください。
LTVPDFTimeStampGenerator が作成されると、この値は null に初期化されます。
tstValidator
- タイムスタンプトークンの検証方法getTSTValidator()
public java.io.InputStream generate(byte[] pdfDocument) throws java.io.IOException, APLException
generateメソッドは指定したPDF文書に埋め込まれているPDFタイムスタンプを検証し、 署名VRIが存在しないPDFタイムスタンプに対して、署名VRIを埋め込んみます。 その後、PDF文書に対するタイムスタンプトークンの取得及び検証を行った後、 タイムスタンプトークンをPDFタイムスタンプとしてPDF文書に埋め込みます。
生成モードを NORMAL にして、本メソッドを実施した場合、PDF 文書に対して、タイムスタンプが付与 できるか否かを検証し、付与できる場合にタイムスタンプトークンを PDF タイムスタンプとして PDF 文書に埋め込みます。タイムスタンプが付与できるか否かの検証で付与できないと判断した場合は、 APLException 例外をスローします。
生成モードを VALIDATIONONLY にして、本メソッドを実施した場合、PDF 文書に対して、タイムスタ ンプが付与できるか否かのみを検証し、PDF 文書に対してタイムスタンプは生成しません。その時、 戻り値には nullを返します。 タイムスタンプが付与できるか否かの検証で付与できないと判断した 場合は、APLException 例外をスローします。
生成モードを POSTPROCESSINGVALIDATION にして、本メソッドを実施した場合、PDF 文書に対して、 タイムスタンプが付与できるか否かを検証し、付与できる場合に、タイムスタンプトークンを PDF タイムスタンプとしてPDF 文書に埋め込みます。 タイムスタンプが付与できるか否かの検証で付与でき ないと判断した場合は、APLExceptionを送出します。また、タイムスタンプを PDF 文書に埋め込んだ PDFに対して、PDFの検証を行います。検証に失敗した場合、 タイムスタンプ付与前に行った検証と区 別するため PostProcessingValidationException 例外をスローします。
このメソッドは次の PDF 文書にのみ PDF タイムスタンプを生成可能です。
入力する PDF 文書に PDF 標準セキュリティが設定されており、文書内容の変更にパスワードを必要とする場合は、代わりに
generate(byte[],char[],char[])
メソッドを使用してください。
pdfDocument
- スタンプ対象の PDF 文書java.io.IOException
- PDF データに入出力の問題があった場合NoTimeStampException
- 検証する PDF 文書内に PDF タイムスタンプが存在しない場合TimeStampProtocolException
- タイムスタンプレスポンスの受信に失敗した場合TSTValidationException
- 取得したタイムスタンプトークンの検証に失敗した場合APLException
- PDF タイムスタンプ生成中に問題が発生した場合java.lang.NullPointerException
- pdfDocument が null の場合PostProcessingValidationException
- 生成モードが POSTPROCESSINGVALIDATION の場合でタイムスタンプを付与したPDFに対してPDFの検証に失敗した場合public java.io.InputStream generate(byte[] pdfDocument, char[] userPassword, char[] ownerPassword) throws java.io.IOException, APLException
generateメソッドは指定したPDF文書に埋め込まれているPDFタイムスタンプを検証し、 署名VRIが存在しないPDFタイムスタンプに対して、署名VRIを埋め込んみます。 その後、PDF文書に対するタイムスタンプトークンの取得及び検証を行った後、 タイムスタンプトークンをPDFタイムスタンプとしてPDF文書に埋め込みます。
入力する PDF 文書に PDF 標準セキュリティが設定されており、文書内容の変更にパスワードを必要とする場合は、
このパスワードを正しく指定しなければ PDF タイムスタンプを生成できません。
文書内容の変更にユーザーパスワードやオーナーパスワードを必要としない場合はこれらの引数に指定した値に関わらず PDF タイムスタンプを生成します。
pdfDocument
- スタンプ対象の PDF 文書userPassword
- ユーザーパスワードownerPassword
- オーナーパスワードjava.io.IOException
- PDF データに入出力の問題があった場合NoTimeStampException
- 検証する PDF 文書内に PDF タイムスタンプが存在しない場合TimeStampProtocolException
- タイムスタンプレスポンスの受信に失敗した場合TSTValidationException
- 取得したタイムスタンプトークンの検証に失敗した場合APLException
- PDF タイムスタンプ生成中に問題が発生した場合java.lang.NullPointerException
- pdfDocument が null の場合PostProcessingValidationException
- 生成モードが POSTPROCESSINGVALIDATION の場合でタイムスタンプを付与したPDFに対してPDFの検証に失敗した場合java.lang.IllegalArgumentException
- 指定されたユーザーパスワードまたはオーナーパスワードの長さがPDFでサポートされている長さを超える場合public java.io.InputStream generate(java.io.RandomAccessFile pdfDocument) throws java.io.IOException, APLException
このメソッドを使用して PDF タイムスタンプを作成した場合は戻り値の InputStream を使い終わるまでパラメータに指定した RandomAccessFile の操作を行ってはなりません。 PDF タイムスタンプを生成した後にパラメータの RandomAccessFile に対してファイルポインタのオフセット変更、データの読み書きなどの操作を行い、その後に InputStream からデータを読み取った場合はこのデータの正しさは保証されません。
pdfDocument
- スタンプ対象の PDF 文書java.io.IOException
- PDF データに入出力の問題があった場合NoTimeStampException
- 検証する PDF 文書内に PDF タイムスタンプが存在しない場合TimeStampProtocolException
- タイムスタンプレスポンスの受信に失敗した場合TSTValidationException
- 取得したタイムスタンプトークンの検証に失敗した場合APLException
- PDF タイムスタンプ生成中に問題が発生した場合java.lang.NullPointerException
- pdfDocument が null の場合PostProcessingValidationException
- 生成モードが POSTPROCESSINGVALIDATION の場合でタイムスタンプを付与したPDFに対してPDFの検証に失敗した場合generate(byte[])
public java.io.InputStream generate(java.io.RandomAccessFile pdfDocument, char[] userPassword, char[] ownerPassword) throws java.io.IOException, APLException
このメソッドを使用して PDF タイムスタンプを作成した場合は戻り値の InputStream を使い終わるまでパラメータに指定した RandomAccessFile の操作を行ってはなりません。 PDF タイムスタンプを生成した後にパラメータの RandomAccessFile に対してファイルポインタのオフセット変更、データの読み書きなどの操作を行い、その後に InputStream からデータを読み取った場合はこのデータの正しさは保証されません。
pdfDocument
- スタンプ対象の PDF 文書userPassword
- ユーザーパスワードownerPassword
- オーナーパスワードjava.io.IOException
- PDF データに入出力の問題があった場合NoTimeStampException
- 検証する PDF 文書内に PDF タイムスタンプが存在しない場合TimeStampProtocolException
- タイムスタンプレスポンスの受信に失敗した場合TSTValidationException
- 取得したタイムスタンプトークンの検証に失敗した場合APLException
- PDF タイムスタンプ生成中に問題が発生した場合java.lang.NullPointerException
- pdfDocument が null の場合PostProcessingValidationException
- 生成モードが POSTPROCESSINGVALIDATION の場合でタイムスタンプを付与したPDFに対してPDFの検証に失敗した場合java.lang.IllegalArgumentException
- 指定されたユーザーパスワードまたはオーナーパスワードの長さがPDFでサポートされている長さを超える場合generate(byte[],char[],char[])
public static LTVPDFTimeStampGenerator getAmanoInstance(byte[] license, char[] password, java.util.Collection certificates, ProxyHost proxyHost) throws APLException
getAmanoInstance メソッドから返された LTVPDFTimeStampGenerator オブジェクトは次に
generate メソッドのどれかを呼び出すことで PDF タイムスタンプを生成できます。
getAmanoInstance メソッドは PDF タイムスタンプの生成を簡単に行う方法を提供します。
getAmanoInstance メソッドが返す LTVPDFTimeStampGenerator オブジェクトの内容は次のようになっています。
LTVPDFTimeStampGenerator ├─timeStampProtocol: |
license
- ライセンスが格納されたバイト配列password
- 指定したライセンスに対応するパスワードcertificates
- X509Certificate の CollectionproxyHost
- HTTP プロキシ。設定しない場合は null。APLException
- license のフォーマットが不正、または password が不正である場合java.lang.NullPointerException
- license、password または certificates が null の場合public int getExtensionResult()
public void setVerifyTarget(int target)
target
- 検証対象java.lang.IllegalArgumentException
- VERIFY_TARGET_AMANO、VERIFY_TARGET_FULL以外の値を設定した場合public int getVerifyTarget()
public void setGenerationMode(int mode)
mode
- 生成モードjava.lang.IllegalArgumentException
- modeの値が NORMAL, VALIDATIONONLY, POSTPROCESSINGVALIDATION 以外の場合setTSTValidator(jp.co.amano.etiming.apl3161.TSTValidator)
public int getGenerationMode()
Copyright(C) 2005-2023 AMANO Corporation. All Rights Reserved.