public class PDFTimeStampGenerator
extends java.lang.Object
修飾子とタイプ | フィールドと説明 |
---|---|
static int |
NORMAL
デフォルトの生成モードで、
PDFに対してタイムスタンプが付与できるか否かの確認を行った後、タイムスタンプの付与を行います。
|
static int |
POSTPROCESSINGVALIDATION
PDFに対してタイムスタンプが付与できるか否かの確認を行った後、タイムスタンプの付与を行い、
また、PDFにタイムスタンプを付与した後、付与したPDFに対してPDFの検証を行います。
|
static int |
VALIDATIONONLY
PDFに対してタイムスタンプが付与できるか否かの確認のみを行い、タイムスタンプの付与は行いません。
|
コンストラクタと説明 |
---|
PDFTimeStampGenerator(TimeStampProtocol timeStampProtocol)
タイムスタンプトークン取得の際に使用するタイムスタンププロトコルを指定して
PDFTimeStampGenerator を作成します。
|
修飾子とタイプ | メソッドと説明 |
---|---|
java.io.InputStream |
generate(byte[] pdfDocument)
バイト配列に格納された PDF 文書に対して PDF タイムスタンプを生成します。
|
java.io.InputStream |
generate(byte[] pdfDocument,
char[] userPassword,
char[] ownerPassword)
PDF 標準セキュリティのユーザーパスワードおよびオーナーパスワードを指定して、バイト配列に格納された PDF 文書に対して PDF タイムスタンプを生成します。
|
java.io.InputStream |
generate(java.io.RandomAccessFile pdfDocument)
ファイルから読み込んだ PDF 文書に対して PDF タイムスタンプを生成します。
|
java.io.InputStream |
generate(java.io.RandomAccessFile pdfDocument,
char[] userPassword,
char[] ownerPassword)
PDF 標準セキュリティのユーザーパスワードおよびオーナーパスワードを指定して、ファイルから読み込んだ PDF 文書に対して PDF タイムスタンプを生成します。
|
static PDFTimeStampGenerator |
getAmanoInstance(byte[] license,
char[] password,
APLTimeZone timeZone,
java.util.Collection certificates,
ProxyHost proxyHost)
アマノタイムスタンプ局に接続するために必要な設定を行った PDFTimeStampGenerator オブジェクトを返します。
|
int |
getGenerationMode()
生成モードを返します。
|
ImprintPastingParameters |
getImprintPasting()
印影付きの PDF タイムスタンプを作成するためのパラメータを返します。
|
TimeStampProtocol |
getTimeStampProtocol()
PDF タイムスタンプ生成時に使用する TimeStampProtocol を返します。
|
APLTimeZone |
getTimeZone()
生成する PDF タイムスタンプに設定されるタイムゾーンを返します。
|
TSTValidator |
getTSTValidator()
タイムスタンプトークンの検証方法を返します。
|
void |
setGenerationMode(int mode)
生成モードを設定します。
|
void |
setImprintPasting(ImprintPastingParameters params)
印影付きの PDF タイムスタンプを作成するためのパラメータを設定します。
|
void |
setTimeStampProtocol(TimeStampProtocol timeStampProtocol)
PDF タイムスタンプ生成時に使用する TimeStampProtocol を設定します。
|
void |
setTimeZone(APLTimeZone timeZone)
生成する PDF タイムスタンプに設定されるタイムゾーンを設定します。
|
void |
setTSTValidator(TSTValidator tstValidator)
タイムスタンプトークンの検証方法を設定します。
|
public static final int NORMAL
public static final int VALIDATIONONLY
public static final int POSTPROCESSINGVALIDATION
public PDFTimeStampGenerator(TimeStampProtocol timeStampProtocol)
timeStampProtocol
- タイムスタンプトークン取得の際に使用するタイムスタンププロトコルjava.lang.NullPointerException
- timeStampProtocol が null の場合public APLTimeZone getTimeZone()
PDFTimeStampGenerator が作成されると、タイムゾーンは CustomTimeZone のデフォルトコンストラクタで作成したオブジェクトに初期化されます。
setTimeZone(jp.co.amano.etiming.apl3161.APLTimeZone)
public void setTimeZone(APLTimeZone timeZone)
PDFTimeStampGenerator が作成されると、タイムゾーンは CustomTimeZone のデフォルトコンストラクタで作成したオブジェクトに初期化されます。
timeZone
- 生成する PDF タイムスタンプに設定されるタイムゾーンjava.lang.NullPointerException
- timeZone が null の場合getTimeZone()
public ImprintPastingParameters getImprintPasting()
PDFTimeStampGenerator が作成されると、印影付きの PDF タイムスタンプを作成するためのパラメータは null に初期化されます。
setImprintPasting(jp.co.amano.etiming.apl3161.ImprintPastingParameters)
public void setImprintPasting(ImprintPastingParameters params)
PDFTimeStampGenerator が作成されると、印影付きの PDF タイムスタンプを作成するためのパラメータは null に初期化されます。
params
- 印影付きの PDF タイムスタンプを作成するためのパラメータgetImprintPasting()
public TimeStampProtocol getTimeStampProtocol()
setTimeStampProtocol(jp.co.amano.etiming.apl3161.TimeStampProtocol)
public void setTimeStampProtocol(TimeStampProtocol timeStampProtocol)
timeStampProtocol
- PDF タイムスタンプ生成時に使用する TimeStampProtocoljava.lang.NullPointerException
- timeStampProtocol が null の場合getTimeStampProtocol()
public TSTValidator getTSTValidator()
PDF タイムスタンプ生成時にはタイムスタンプトークンを取得直後、 TSTValidator を使用して取得したタイムスタンプトークンの検証を行います。 この値が null の場合、取得したタイムスタンプトークンの検証は行いません。
PDFTimeStampGenerator が作成されると、この値は null に初期化されます。
setTSTValidator(jp.co.amano.etiming.apl3161.TSTValidator)
public void setTSTValidator(TSTValidator tstValidator)
PDF タイムスタンプ生成時にはタイムスタンプトークンを取得直後、 TSTValidator を使用して取得したタイムスタンプトークンの検証を行います。 この値が null の場合、取得したタイムスタンプトークンの検証は行いません。
PDFTimeStampGenerator が作成されると、この値は null に初期化されます。
tstValidator
- タイムスタンプトークンの検証方法getTSTValidator()
public java.io.InputStream generate(byte[] pdfDocument) throws java.io.IOException, APLException
generate メソッドは指定した 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 データに入出力の問題があった場合TimeStampProtocolException
- タイムスタンプレスポンスの受信に失敗した場合TSTValidationException
- 取得したタイムスタンプトークンの検証に失敗した場合APLException
- PDF タイムスタンプ生成中に問題が発生した場合java.lang.NullPointerException
- pdfDocument が null の場合PostProcessingValidationException
- 生成モードが POSTPROCESSINGVALIDATION の場合でタイムスタンプを付与したPDFに対してPDFの検証に失敗した場合java.lang.IllegalStateException
- 生成モードが POSTPROCESSINGVALIDATION の場合でsetTSTValidator() には、AmanoTSTValidatorを指定しない場合ImprintOutOfDocumentException
- 印影の指定されたページが存在しない、指定された位置がページからはみ出す場合public java.io.InputStream generate(byte[] pdfDocument, char[] userPassword, char[] ownerPassword) throws java.io.IOException, APLException
generate メソッドは指定した PDF 文書に対するタイムスタンプトークンの取得および検証を行った後、 このタイムスタンプトークンを PDF タイムスタンプとして PDF 文書に埋め込みます。
入力する PDF 文書に PDF 標準セキュリティが設定されており、文書内容の変更にパスワードを必要とする場合は、
このパスワードを正しく指定しなければ PDF タイムスタンプを生成できません。
文書内容の変更にユーザーパスワードやオーナーパスワードを必要としない場合はこれらの引数に指定した値に関わらず PDF タイムスタンプを生成します。
pdfDocument
- スタンプ対象の PDF 文書userPassword
- ユーザーパスワードownerPassword
- オーナーパスワードjava.io.IOException
- PDF データに入出力の問題があった場合TimeStampProtocolException
- タイムスタンプレスポンスの受信に失敗した場合TSTValidationException
- 取得したタイムスタンプトークンの検証に失敗した場合APLException
- PDF タイムスタンプ生成中に問題が発生した場合java.lang.NullPointerException
- pdfDocument が null の場合PostProcessingValidationException
- 生成モードが POSTPROCESSINGVALIDATION の場合でタイムスタンプを付与したPDFに対してPDFの検証に失敗した場合java.lang.IllegalStateException
- 生成モードが POSTPROCESSINGVALIDATION の場合でsetTSTValidator() には、AmanoTSTValidatorを指定しない場合ImprintOutOfDocumentException
- 印影の指定されたページが存在しない、指定された位置がページからはみ出す場合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 データに入出力の問題があった場合TimeStampProtocolException
- タイムスタンプレスポンスの受信に失敗した場合TSTValidationException
- 取得したタイムスタンプトークンの検証に失敗した場合APLException
- PDF タイムスタンプ生成中に問題が発生した場合java.lang.NullPointerException
- pdfDocument が null の場合PostProcessingValidationException
- 生成モードが POSTPROCESSINGVALIDATION の場合でタイムスタンプを付与したPDFに対してPDFの検証に失敗した場合java.lang.IllegalStateException
- 生成モードが POSTPROCESSINGVALIDATION の場合でsetTSTValidator() には、AmanoTSTValidatorを指定しない場合ImprintOutOfDocumentException
- 印影の指定されたページが存在しない、指定された位置がページからはみ出す場合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 データに入出力の問題があった場合TimeStampProtocolException
- タイムスタンプレスポンスの受信に失敗した場合TSTValidationException
- 取得したタイムスタンプトークンの検証に失敗した場合APLException
- PDF タイムスタンプ生成中に問題が発生した場合java.lang.NullPointerException
- pdfDocument が null の場合PostProcessingValidationException
- 生成モードが POSTPROCESSINGVALIDATION の場合でタイムスタンプを付与したPDFに対してPDFの検証に失敗した場合java.lang.IllegalStateException
- 生成モードが POSTPROCESSINGVALIDATION の場合でsetTSTValidator() には、AmanoTSTValidatorを指定しない場合ImprintOutOfDocumentException
- 印影の指定されたページが存在しない、指定された位置がページからはみ出す場合java.lang.IllegalArgumentException
- 指定されたユーザーパスワードまたはオーナーパスワードの長さがPDFでサポートされている長さを超える場合generate(byte[],char[],char[])
public static PDFTimeStampGenerator getAmanoInstance(byte[] license, char[] password, APLTimeZone timeZone, java.util.Collection certificates, ProxyHost proxyHost) throws APLException
getAmanoInstance メソッドから返された PDFTimeStampGenerator オブジェクトは次に
generate メソッドのどれかを呼び出すことで PDF タイムスタンプを生成できます。
getAmanoInstance メソッドは PDF タイムスタンプの生成を簡単に行う方法を提供します。
getAmanoInstance メソッドが返す PDFTimeStampGenerator オブジェクトの内容は次のようになっています。
PDFTimeStampGenerator ├─timeStampProtocol: |
license
- ライセンスが格納されたバイト配列password
- 指定したライセンスに対応するパスワードtimeZone
- 生成する PDF タイムスタンプに設定されるタイムゾーンcertificates
- X509Certificate の CollectionproxyHost
- HTTP プロキシ。設定しない場合は null。APLException
- license のフォーマットが不正、または password が不正である場合java.lang.NullPointerException
- license、password、timeZone または certificates が null の場合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.