%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="yss.iothe.pdftimestamp.PdfTimeStampException" %>
<%@ page import="yss.iothe.pdftimestamp.PdfTimeStampFactory" %>
<%@ page import="yss.iothe.pdftimestamp.PdfTimeStampService" %>
<%@ page import="yss.iothe.pdftimestamp.com.PdfTimeStampConst.HASH_ALGORITHM" %>
<%@ page import="yss.iothe.pdftimestamp.com.PdfTimeStampConst.PDF_SECURITY_128_ACCESSBILITY" %>
<%@ page import="yss.iothe.pdftimestamp.com.PdfTimeStampConst.PDF_SECURITY_128_CHANGE" %>
<%@ page import="yss.iothe.pdftimestamp.com.PdfTimeStampConst.PDF_SECURITY_128_COPY" %>
<%@ page import="yss.iothe.pdftimestamp.com.PdfTimeStampConst.PDF_SECURITY_128_PRINT" %>
<%@ page import="yss.iothe.pdftimestamp.com.PdfTimeStampConst.PDF_SECURITY_40_ADDNOTE" %>
<%@ page import="yss.iothe.pdftimestamp.com.PdfTimeStampConst.PDF_SECURITY_40_COPY" %>
<%@ page import="yss.iothe.pdftimestamp.com.PdfTimeStampConst.PDF_SECURITY_40_EDIT" %>
<%@ page import="yss.iothe.pdftimestamp.com.PdfTimeStampConst.PDF_SECURITY_40_PRINT" %>
<%@ page import="yss.iothe.pdftimestamp.com.PdfTimeStampConst.POLICY" %>
<%@ page import="yss.iothe.pdftimestamp.info.PdfDocument" %>
<%@ page import="yss.iothe.pdftimestamp.info.PdfTimeStamp" %>
<%@ page import="yss.iothe.pdftimestamp.info.PdfTimeStampToken" %>
<%@ page import="java.util.Date" %>
<%@ taglib prefix="imui" uri="http://www.intra-mart.co.jp/taglib/imui" %>
<%!
/**
* PDFタイムスタンプインスタンス生成
* URLが未指定であればスタンドアロン環境、
* URLが指定されていれば分散環境として処理を行う。
* URLは下記の形式で指定する。
* 「http://{IPアドレスおよびポート番号}/pdftimestamp/webapi/timestamp」
*/
private static PdfTimeStampService service = PdfTimeStampFactory.createPdfTimeStampService();
/*
private static PdfTimeStampService service = PdfTimeStampFactory.createPdfTimeStampService(
"http://xxxxxxxx:xxxx/pdftimestamp/webapi/timestamp", 30, 600);
*/
/*****************************************
* 処理ファイル設定
*****************************************/
/* 処理対象PDFファイルパス */
private static final String inputpdfpath = "C:/temp/in.pdf";
/* 処理対象PDF権限パスワード */
private static final String inputpdfpasswd = "security";
/* 処理結果PDF出力先ファイルパス1 */
private static final String outpdfpath1 = "C:/temp/out.1.pdf";
/* 処理結果PDF出力先ファイルパス2 */
private static final String outpdfpath2 = "C:/temp/out.2.pdf";
/*****************************************
* タイムスタンプトークン取得設定
*****************************************/
/* ハッシュアルゴリズム */
private static final HASH_ALGORITHM alg = HASH_ALGORITHM.SHA512;
/* ポリシー */
private static final POLICY policy = POLICY.TYPEA2;
/*****************************************
* タイムスタンプ局の設定
*****************************************/
/* タイムスタンプ局の接続先のURL */
private static final String tsaurl = "https://timestamp.seiko-cybertime.jp/basic/Timestamp?type=AccreditedA2";
/* タイムスタンプ局接続時の接続ID */
private static final String tsauser = "xxxxxxxx@xxxx.xx.xx";
/* タイムスタンプ局接続時のパスワード */
private static final String tsapasswd = "xxxxxxxx";
/*****************************************
* セキュリティ設定
*****************************************/
/* 処理結果PDFファイルに付与する参照パスワード */
private static final String openpasswd = "open";
/* 処理結果PDFファイルに付与するセキュリティパスワード */
private static final String secpasswd = "security";
/*****************************************
* 処理結果PDFファイルに付与する
* RC4 40bitセキュリティ設定
*****************************************/
/* 印刷許可 */
private static final PDF_SECURITY_40_PRINT security40_print = PDF_SECURITY_40_PRINT.DISABLE;
/* 編集許可 */
private static final PDF_SECURITY_40_EDIT security40_edit = PDF_SECURITY_40_EDIT.ENABLE;
/* コピー許可 */
private static final PDF_SECURITY_40_COPY security40_copy = PDF_SECURITY_40_COPY.DISABLE;
/* 注釈追記許可 */
private static final PDF_SECURITY_40_ADDNOTE security40_addnote = PDF_SECURITY_40_ADDNOTE.DISABLE;
/*****************************************
* 処理結果PDFファイルに付与する
* RC4 1280bitセキュリティ設定
*****************************************/
/* 印刷許可 */
private static final PDF_SECURITY_128_PRINT security128_print = PDF_SECURITY_128_PRINT.ENABLE;
/* アクセス許可 */
private static final PDF_SECURITY_128_ACCESSBILITY security128_access = PDF_SECURITY_128_ACCESSBILITY.ENABLE;
/* 印刷許可 */
private static final PDF_SECURITY_128_COPY security128_copy = PDF_SECURITY_128_COPY.ENABLE;
/* 文書変更許可 */
private static final PDF_SECURITY_128_CHANGE security128_change = PDF_SECURITY_128_CHANGE.ENABLE;
%>
IM-PDFTimeStamper-チュートリアル-JavaEE開発モデル-TimeStamp
IM-PDFTimeStamper チュートリアル JavaEE開発モデル TimeStamp
<%!
/**
* 文書タイムスタンプの付与
*/
String addTimestamp() {
StringBuffer resultBuffer = new StringBuffer(200);
/* PDF情報 */
PdfDocument docinfo;
try {
/*****************************************
* 実行準備
*****************************************/
/* 文書タイムスタンプを付与するPDFファイルのパス、及び権限パスワードを設定 */
service.setInputPdf(inputpdfpath, inputpdfpasswd);
/* 処理結果PDF出力先パスを設定 */
service.setOutputPdf(outpdfpath1);
/* タイムスタンプトークン取得用のハッシュアルゴリズムを設定 */
service.setHashAlgorithm(alg);
/* タイムスタンプトークン取得用のポリシーを設定 */
service.setPolicy(policy);
/* タイムスタンプ局の接続先のURLを設定 */
service.setTsaUrl(tsaurl);
/* タイムスタンプ局接続時の接続ID、パスワードを設定 */
service.setTsaUser(tsauser, tsapasswd);
/* 出力PDFのセキュリティ設定(40/128のどちらかを指定) */
/*
service.setSecurity40(openpasswd, secpasswd,
security40_print, security40_edit,
security40_copy, security40_addnote);
*/
service.setSecurity128(openpasswd, secpasswd,
security128_print, security128_access,
security128_copy, security128_change);
/*****************************************
* 実行
*****************************************/
/* PDFに対し文書タイムスタンプを付与 */
service.generate();
resultBuffer.append("文書タイムスタンプ付与:SUCCESS
");
/*****************************************
* 実行
*****************************************/
/* PDFおよびタイムスタンプ情報の取得 */
docinfo = service.getPdfDocument();
/*****************************************
* 取得情報出力:PDFドキュメント情報
*****************************************/
/* ファイルサイズの取得 */
long fileSize = docinfo.getContentSize();
resultBuffer.append("ファイルサイズ:" + fileSize + " Bytes
");
/* ページ数の取得 */
int pageNum = docinfo.getNumberOfPages();
resultBuffer.append("ページ数:" + pageNum + " Pages
");
/* ページサイズ(幅)の取得 */
double paperWidth = docinfo.getPaperWidth();
resultBuffer.append("ページ幅:" + paperWidth + " pts
");
/* ページサイズ(高さ)の取得 */
double paperHeight = docinfo.getPaperHeight();
resultBuffer.append("ページ高:" + paperHeight + " pts
");
/* 解像度取得 */
int resolution = docinfo.getResolution();
resultBuffer.append("解像度:" + resolution + " dpi
");
/* 階調取得 */
int gradation = docinfo.getGradation();
resultBuffer.append("階調:" + gradation + "
");
/* 最新のタイムスタンプ情報の取得 */
// PdfTimeStamp timeStamp = docinfo.getLatestTimeStamp();
/* タイムスタンプリストの取得 */
PdfTimeStamp[] timeStampList = docinfo.getTimeStamps();
resultBuffer.append("タイムスタンプリスト:" + timeStampList.length + "
");
/* VRI付きタイムスタンプリストの取得 */
PdfTimeStamp[] vriTimeStampList = docinfo.getTimeStampsWithVRI();
if (vriTimeStampList != null) {
resultBuffer.append("VRI付きタイムスタンプリスト:" + vriTimeStampList.length + "
");
}
/* VRI付きでないタイムスタンプリストの取得 */
PdfTimeStamp[] notVriTimeStampList = docinfo.getTimeStampsWithNotVRI();
if (notVriTimeStampList != null) {
resultBuffer.append("VRI付きでないタイムスタンプリスト:" + notVriTimeStampList.length + "
");
}
/*****************************************
* 取得情報出力:タイムスタンプ情報
*****************************************/
for (int i = 0; i < timeStampList.length; i++) {
resultBuffer.append("【TimeStamp[" + i + "]】
");
/* ハッシュアルゴリズムの取得 */
HASH_ALGORITHM hashAlgorithm = timeStampList[i]
.getHashAlgorithm();
resultBuffer.append(" ハッシュアルゴリズム:" + hashAlgorithm + "
");
/* 有効期限の取得 */
Date expirationDate = timeStampList[i]
.getTimeStampExpirationDate();
resultBuffer.append(" 有効期限:" + expirationDate + "
");
/* タイムスタンプ生成日時の取得 */
Date createDate = timeStampList[i].getCreationDate();
resultBuffer.append(" タイムスタンプ生成日時:" + createDate + "
");
/* 検証結果の取得 */
int validateResult = timeStampList[i].getValidateResult();
resultBuffer.append(" 検証結果:" + validateResult + "
");
/* 署名Vriが付加されているかの取得 */
boolean vriFlg = timeStampList[i].getVriFlg();
resultBuffer.append(" 署名VRIの付加:" + vriFlg + "
");
/* タイムスタンプ情報の取得 */
PdfTimeStampToken token = timeStampList[i].getTimeStampToken();
/*****************************************
* 取得情報出力:タイムスタンプトークン
*****************************************/
/* タイムスタンプデータ値の取得 */
byte[] tokenData = token.getData();
resultBuffer.append(" タイムスタンプデータ値:" + tokenData + "
");
/* 登録時のタイムスタンプハッシュ値の取得 */
byte[] registerDigest = token.getRegisterDigest();
resultBuffer.append(" 登録時のタイムスタンプハッシュ値:" + registerDigest + "
");
/* 検証時のタイムスタンプハッシュ値の取得 */
byte[] digest = token.getDigest();
resultBuffer.append(" 検証時のタイムスタンプハッシュ値:" + digest + "
");
}
} catch (PdfTimeStampException e) {
resultBuffer.append("文書タイムスタンプ付与:ERROR
");
resultBuffer.append("ステータス:" + e.getCode() + "
メッセージ:"+ e.getMessage() + "
");
}
finally {
}
return resultBuffer.toString();
}
/**
* 延長タイムスタンプの付与
*/
String extendTimestamp() {
StringBuffer resultBuffer = new StringBuffer(200);
/* PDF情報 */
PdfDocument docinfo;
try {
/*****************************************
* 実行準備
*****************************************/
/* 延長タイムスタンプを付与するPDFファイルのパス、及び権限パスワードを設定 */
service.setInputPdf(outpdfpath1, inputpdfpasswd);
/* 処理結果PDF出力先パスを設定 */
service.setOutputPdf(outpdfpath2);
/* タイムスタンプトークン取得用のハッシュアルゴリズムを設定 */
service.setHashAlgorithm(alg);
/* タイムスタンプトークン取得用のポリシーを設定 */
service.setPolicy(policy);
/* タイムスタンプ局の接続先のURLを設定 */
service.setTsaUrl(tsaurl);
/* タイムスタンプ局接続時の接続ID、パスワードを設定 */
service.setTsaUser(tsauser, tsapasswd);
/*****************************************
* 実行
*****************************************/
/* PDFに対し文書タイムスタンプを付与 */
service.generateLtv();
/*****************************************
* 実行結果出力
*****************************************/
resultBuffer.append("延長タイムスタンプ付与:SUCCESS
");
/*****************************************
* 実行
*****************************************/
/* PDFおよびタイムスタンプ情報の取得 */
docinfo = service.getPdfDocument();
/*****************************************
* 取得情報出力:PDFドキュメント情報
*****************************************/
/* ファイルサイズの取得 */
long fileSize = docinfo.getContentSize();
resultBuffer.append("ファイルサイズ:" + fileSize + " Bytes
");
/* ページ数の取得 */
int pageNum = docinfo.getNumberOfPages();
resultBuffer.append("ページ数:" + pageNum + " Pages
");
/* ページサイズ(幅)の取得 */
double paperWidth = docinfo.getPaperWidth();
resultBuffer.append("ページ幅:" + paperWidth + " pts
");
/* ページサイズ(高さ)の取得 */
double paperHeight = docinfo.getPaperHeight();
resultBuffer.append("ページ高:" + paperHeight + " pts
");
/* 解像度取得 */
int resolution = docinfo.getResolution();
resultBuffer.append("解像度:" + resolution + " dpi
");
/* 階調取得 */
int gradation = docinfo.getGradation();
resultBuffer.append("階調:" + gradation + "
");
/* 最新のタイムスタンプ情報の取得 */
// PdfTimeStamp timeStamp = docinfo.getLatestTimeStamp();
/* タイムスタンプリストの取得 */
PdfTimeStamp[] timeStampList = docinfo.getTimeStamps();
resultBuffer.append("タイムスタンプリスト:" + timeStampList.length + "
");
/* VRI付きタイムスタンプリストの取得 */
PdfTimeStamp[] vriTimeStampList = docinfo.getTimeStampsWithVRI();
if (vriTimeStampList != null) {
resultBuffer.append("VRI付きタイムスタンプリスト:" + vriTimeStampList.length + "
");
}
/* VRI付きでないタイムスタンプリストの取得 */
PdfTimeStamp[] notVriTimeStampList = docinfo.getTimeStampsWithNotVRI();
if (notVriTimeStampList != null) {
resultBuffer.append("VRI付きでないタイムスタンプリスト:" + notVriTimeStampList.length + "
");
}
/*****************************************
* 取得情報出力:タイムスタンプ情報
*****************************************/
for (int i = 0; i < timeStampList.length; i++) {
resultBuffer.append("【TimeStamp[" + i + "]】
");
/* ハッシュアルゴリズムの取得 */
HASH_ALGORITHM hashAlgorithm = timeStampList[i]
.getHashAlgorithm();
resultBuffer.append(" ハッシュアルゴリズム:" + hashAlgorithm + "
");
/* 有効期限の取得 */
Date expirationDate = timeStampList[i]
.getTimeStampExpirationDate();
resultBuffer.append(" 有効期限:" + expirationDate + "
");
/* タイムスタンプ生成日時の取得 */
Date createDate = timeStampList[i].getCreationDate();
resultBuffer.append(" タイムスタンプ生成日時:" + createDate + "
");
/* 検証結果の取得 */
int validateResult = timeStampList[i].getValidateResult();
resultBuffer.append(" 検証結果:" + validateResult + "
");
/* 署名Vriが付加されているかの取得 */
boolean vriFlg = timeStampList[i].getVriFlg();
resultBuffer.append(" 署名VRIの付加:" + vriFlg + "
");
/* タイムスタンプ情報の取得 */
PdfTimeStampToken token = timeStampList[i].getTimeStampToken();
/*****************************************
* 取得情報出力:タイムスタンプトークン
*****************************************/
/* タイムスタンプデータ値の取得 */
byte[] tokenData = token.getData();
resultBuffer.append(" タイムスタンプデータ値:" + tokenData + "
");
/* 登録時のタイムスタンプハッシュ値の取得 */
byte[] registerDigest = token.getRegisterDigest();
resultBuffer.append(" 登録時のタイムスタンプハッシュ値:" + registerDigest + "
");
/* 検証時のタイムスタンプハッシュ値の取得 */
byte[] digest = token.getDigest();
resultBuffer.append(" 検証時のタイムスタンプハッシュ値:" + digest + "
");
}
} catch (PdfTimeStampException e) {
resultBuffer.append("延長タイムスタンプ付与:ERROR
");
resultBuffer.append("ステータス:" + e.getCode() + "
メッセージ:" + e.getMessage() + "
");
}
finally{
}
return resultBuffer.toString();
}
/**
* タイムスタンプの検証
*/
String validateTimestamp() {
StringBuffer resultBuffer = new StringBuffer(200);
/* 検証結果 */
int res;
try {
/*****************************************
* 実行準備
*****************************************/
/* タイムスタンプを検証するPDFファイルのパス、及び権限パスワードを設定 */
service.setInputPdf(outpdfpath2, inputpdfpasswd);
/*****************************************
* 実行
*****************************************/
/* PDFのタイムスタンプを検証 */
res = service.validate();
/*****************************************
* 実行結果出力
*****************************************/
resultBuffer.append("PDF文書のタイムスタンプ検証(validate):SUCCESS:[" + res + "]
");
} catch (PdfTimeStampException e) {
resultBuffer.append("PDF文書のタイムスタンプ検証(validate):ERROR
");
resultBuffer.append("ステータス:" + e.getCode() + "
メッセージ:" + e.getMessage() + "
");
}
finally{
}
return resultBuffer.toString();
}
String validateTsTimestamp() {
StringBuffer resultBuffer = new StringBuffer(200);
/* 検証結果 */
PdfTimeStamp[] timeStampList;
try {
/*****************************************
* 実行準備
*****************************************/
/* タイムスタンプを検証するPDFファイルのパス、及び権限パスワードを設定 */
service.setInputPdf(outpdfpath2, inputpdfpasswd);
/*****************************************
* 実行
*****************************************/
/* PDFのタイムスタンプを検証 */
timeStampList = service.validateTs();
/*****************************************
* 取得情報出力:タイムスタンプ情報
*****************************************/
for (int i = 0; i < timeStampList.length; i++) {
resultBuffer.append("【TimeStamp[" + i + "]】
");
/* ハッシュアルゴリズムの取得 */
HASH_ALGORITHM hashAlgorithm = timeStampList[i]
.getHashAlgorithm();
resultBuffer.append(" ハッシュアルゴリズム:" + hashAlgorithm + "
");
/* 有効期限の取得 */
Date expirationDate = timeStampList[i]
.getTimeStampExpirationDate();
resultBuffer.append(" 有効期限:" + expirationDate + "
");
/* タイムスタンプ生成日時の取得 */
Date createDate = timeStampList[i].getCreationDate();
resultBuffer.append(" タイムスタンプ生成日時:" + createDate + "
");
/* 検証結果の取得 */
int validateResult = timeStampList[i].getValidateResult();
resultBuffer.append(" 検証結果:" + validateResult + "
");
/* 署名Vriが付加されているかの取得 */
boolean vriFlg = timeStampList[i].getVriFlg();
resultBuffer.append(" 署名VRIの付加:" + vriFlg + "
");
/* タイムスタンプ情報の取得 */
PdfTimeStampToken token = timeStampList[i].getTimeStampToken();
/*****************************************
* 取得情報出力:タイムスタンプトークン
*****************************************/
/* タイムスタンプデータ値の取得 */
byte[] tokenData = token.getData();
resultBuffer.append(" タイムスタンプデータ値:" + tokenData + "
");
/* 登録時のタイムスタンプハッシュ値の取得 */
byte[] registerDigest = token.getRegisterDigest();
resultBuffer.append(" 登録時のタイムスタンプハッシュ値:" + registerDigest + "
");
/* 検証時のタイムスタンプハッシュ値の取得 */
byte[] digest = token.getDigest();
resultBuffer.append(" 検証時のタイムスタンプハッシュ値:" + digest + "
");
}
} catch (PdfTimeStampException e) {
resultBuffer.append("PDF文書のタイムスタンプ検証(validateTs):ERROR
");
resultBuffer.append("ステータス:" + e.getCode() + "
メッセージ:" + e.getMessage() + "
");
}
finally{
}
return resultBuffer.toString();
}
/**
* PDFドキュメント、及びタイムスタンプ情報の取得
*/
String getInfo() {
StringBuffer resultBuffer = new StringBuffer(200);
/* PDF情報 */
PdfDocument docinfo;
try {
/*****************************************
* 実行準備
*****************************************/
/* 情報を取得するPDFファイルのパス、及び権限パスワードを設定 */
service.setInputPdf(outpdfpath2, inputpdfpasswd);
/*****************************************
* 実行
*****************************************/
/* PDFおよびタイムスタンプ情報の取得 */
docinfo = service.getPdfDocument();
/*****************************************
* 取得情報出力:PDFドキュメント情報
*****************************************/
/* ファイルサイズの取得 */
long fileSize = docinfo.getContentSize();
resultBuffer.append("ファイルサイズ:" + fileSize + " Bytes
");
/* ページ数の取得 */
int pageNum = docinfo.getNumberOfPages();
resultBuffer.append("ページ数:" + pageNum + " Pages
");
/* ページサイズ(幅)の取得 */
double paperWidth = docinfo.getPaperWidth();
resultBuffer.append("ページ幅:" + paperWidth + " pts
");
/* ページサイズ(高さ)の取得 */
double paperHeight = docinfo.getPaperHeight();
resultBuffer.append("ページ高:" + paperHeight + " pts
");
/* 解像度取得 */
int resolution = docinfo.getResolution();
resultBuffer.append("解像度:" + resolution + " dpi
");
/* 階調取得 */
int gradation = docinfo.getGradation();
resultBuffer.append("階調:" + gradation + "
");
/* 最新のタイムスタンプ情報の取得 */
//PdfTimeStamp timeStamp = docinfo.getLatestTimeStamp();
/* タイムスタンプリストの取得 */
PdfTimeStamp[] timeStampList = docinfo.getTimeStamps();
/* タイムスタンプが付与されていない場合は処理終了 */
if (timeStampList == null) {
resultBuffer.append("タイムスタンプが付与されていません。
");
resultBuffer.append("PDF文書の情報取得:SUCCESS
");
return resultBuffer.toString();
}
/* 付与されているタイムスタンプを出力 */
resultBuffer.append("タイムスタンプリスト:" + timeStampList.length + "
");
/* VRI付きタイムスタンプリストの取得 */
PdfTimeStamp[] vriTimeStampList = docinfo.getTimeStampsWithVRI();
if (vriTimeStampList != null) {
resultBuffer.append("VRI付きタイムスタンプリスト:" + vriTimeStampList.length + "
");
}
/* VRI付きでないタイムスタンプリストの取得 */
PdfTimeStamp[] notVriTimeStampList = docinfo.getTimeStampsWithNotVRI();
if (notVriTimeStampList != null) {
resultBuffer.append("VRI付きでないタイムスタンプリスト:" + notVriTimeStampList.length + "
");
}
/*****************************************
* 取得情報出力:タイムスタンプ情報
*****************************************/
for (int i = 0; i < timeStampList.length; i++) {
resultBuffer.append("【TimeStamp[" + i + "]】
");
/* ハッシュアルゴリズムの取得 */
HASH_ALGORITHM hashAlgorithm = timeStampList[i]
.getHashAlgorithm();
resultBuffer.append(" ハッシュアルゴリズム:" + hashAlgorithm + "
");
/* 有効期限の取得 */
Date expirationDate = timeStampList[i]
.getTimeStampExpirationDate();
resultBuffer.append(" 有効期限:" + expirationDate + "
");
/* タイムスタンプ生成日時の取得 */
Date createDate = timeStampList[i].getCreationDate();
resultBuffer.append(" タイムスタンプ生成日時:" + createDate + "
");
/* 検証結果の取得 */
int validateResult = timeStampList[i].getValidateResult();
resultBuffer.append(" 検証結果:" + validateResult + "
");
/* 署名Vriが付加されているかの取得 */
boolean vriFlg = timeStampList[i].getVriFlg();
resultBuffer.append(" 署名VRIの付加:" + vriFlg + "
");
/* タイムスタンプ情報の取得 */
PdfTimeStampToken token = timeStampList[i].getTimeStampToken();
/*****************************************
* 取得情報出力:タイムスタンプトークン
*****************************************/
/* タイムスタンプデータ値の取得 */
byte[] tokenData = token.getData();
resultBuffer.append(" タイムスタンプデータ値:" + tokenData + "
");
/* 登録時のタイムスタンプハッシュ値の取得 */
byte[] registerDigest = token.getRegisterDigest();
resultBuffer.append(" 登録時のタイムスタンプハッシュ値:" + registerDigest + "
");
/* 検証時のタイムスタンプハッシュ値の取得 */
byte[] digest = token.getDigest();
resultBuffer.append(" 検証時のタイムスタンプハッシュ値:" + digest + "
");
}
/*****************************************
* 実行結果出力
*****************************************/
resultBuffer.append("PDF文書の情報取得:SUCCESS
");
} catch (PdfTimeStampException e) {
resultBuffer.append("PDF文書の情報取得:ERROR
");
resultBuffer.append("ステータス:" + e.getCode() + "
メッセージ:" + e.getMessage() + "
");
}
finally{
}
return resultBuffer.toString();
}
%>