電子署名モジュール

最終更新日:2011/3/30

概要

電子署名モジュールは、上位のアプリケーション(WebアプリケーションからAPIで呼び出して使用します。言語インターフェイスには次の種類があります。

電子署名モジュールの機能は大きく次の二つに分類できます。

以下では、各機能について概略を紹介しています。詳細は、本製品に付属する各インターフェイスのAPI説明をご参照ください。

設定に関する機能

電子署名モジュールはGUI版設定プログラムで作成した設定ファイルの内容を参照して、デフォルト設定として使用します。さらに、電子署名モジュールのAPI経由で上位アプリケーションから署名設定内容が引き渡されたとき、その設定内容は上書きされます。これにより、API経由でダイナミックな設定を引き渡すことができます。

設定に関する機能については、GUI版設定プログラムが提供しているものと同じですので、詳細については説明していません。使い方につきましては、評価版に同梱されている各APIの説明をご参照ください。

設定ファイルの指定

設定ファイルを明示的に指定しない場合、既定の設定ファイル「PdsSettings.xml」を使用します。既定以外の設定ファイルを指定したいときは次のようにします。

インターフェイス API・コマンド 概要
コマンドライン -set 設定ファイルを指定
.NET PdsModule.loadSetting
JAVA loadSetting
C++ PdfDigSig::PdsModule::loadSetting

署名基本情報の取得・設定

署名の基本情報設定を取得したり、設定変更する機能です。

インターフェイス API・コマンド 概要
コマンドライン -sinfo 署名基本情報設定の設定ファイルの項目と内容を表示
-sign -sf 署名フィールドを指定
-sign -si 署名基本設定名を指定
-sign -sign-type 署名種類
-sign -mdp-type MDP署名辞書
-sign -ap-type 外観種類
-sign -add-flag 証明書チェーンを含むか否か
-sign -reason 署名理由
-sign -location 署名場所
-sign -contact 問合せ先
-sign -ts-type タイムスタンプ種別
-sign -ts-url タイムスタンプサーバURL指定
-sign -ts-userid 同認証ユーザID指定
-sign -ts-passwd 同認証パスワード指定
.NET PdsSignInfo 署名の基本的な設定を取得と指定する為のクラス。 PdsModule.getSignInfo() で取得して必要なら修正して PdsModule.addDigSig() に指定します。
PdsSigField 署名フィールド情報の取得と設定を行います。
Java PdsSignInfo 署名の基本的な設定を取得と指定する為のクラス
PdsSigField 署名フィールド情報の取得と設定を行います。
C++ PdfDigSig::PdsSignInfo 署名の基本的な設定を取得と指定する為のクラス. PdsModule::getSignInfo() で取得して必要なら修正して PdsModule::addDigSig() に指定します。
PdfDigSig::PdsSigField 署名フィールド情報の取得と設定を行います。

外観/証明書情報の取得・設定

外観と証明書設定を取得したり、設定変更する機能です。

インターフェイス API・コマンド 概要
コマンドライン -cinfo 署名に使用する証明書、および署名の外観に使用するグラフィックス・ファイルや外観のテキストを表示します。
-sign -ci 外観/証明書設定名を指定
-sign -p12-filePFX/PKCS#12ファイルとパスワードの指定
-sign -fingerprint 証明書ダイジェスト値
-sign -graphic-type 外観グラフィックス指定
-sign -file-path 外観グラフィックス・ファイル指定
-sign -text-flag 外観テキスト指定
.NET PdsCertInfo PdsModule.getCertInfo() で取得して必要なら修正して PdsModule.addDigSig() に指定します。
PdsCertDefine 証明書を指紋またはファイルパスで指定します。V1.2からファイルパスにPKCS#12ファイルのパスを指定できます。この場合にはPFX/PKCS#12ファイルのパスワード指定をしなければなりません。
Java PdsCertInfo 署名の外観(印影)の指定と署名する証明書の取得と指定する為のクラスです。
PdsCertDefine 証明書を指紋またはファイルパスで指定するクラスです。V1.2からファイルパスにPKCS#12ファイルのパスを指定できます。この場合にはPFX/PKCS#12ファイルのパスワード指定をしなければなりません。
C++ PdfDigSig::PdsCertInfo PdsModule::getCertInfo() で取得して必要なら修正して PdsModule::addDigSig() に指定します。
PdfDigSig::PdsCertDefine 証明書指定クラス 証明書を指紋またはファイルパスで指定します。V1.2からファイルパスにPKCS#12ファイルのパスを指定できます。この場合にはPFX/PKCS#12ファイルのパスワード指定をしなければなりません。

セキュリティ/出力情報の取得・設定

電子署名モジュールが出力するPDFに設定するセキュリティの設定及びリニアライズの有無の設定をします。

インターフェイス API・コマンド 概要
コマンドライン -oinfo セキュリティ/出力情報の取得・設定
-sign -oi 利用するセキュリティ/出力設定名を指定
-sign -encrypt-type セキュリティ種別
-sign -user-passwd 文書を開くパスワード
-sign -owner-passwd 権限を設定するパスワードと権限フラグ
-sign -finger-print 証明書ダイジェスト値と権限フラグ
-sign -cert-file X.509証明書ファイル指定と権限フラグ
-sign -output-flag Web表示用に最適化の有無
.NET PdsOutputInfo PdsModule.getOutputInfo() で取得して必要なら修正して PdsModule.addDigSig() に指定します。
PdsEncryptionCert 証明書による暗号化時に権限設定をおこなう為に利用します。
PdsCertDefine 証明書を指紋またはファイルパスで指定します。
Java PdsOutputInfo 署名の基本的な設定を取得と指定する為のクラスです。
PdsEncryptionCert 証明書による暗号化時に権限設定をおこなう為に利用するクラスです。
PdsCertDefine 証明書を指紋またはファイルパスで指定するクラスです。
C++ PdfDigSig::PdsOutputInfo PdsModule::getOutputInfo() で取得して必要なら修正して PdsModule::addDigSig() に指定します。
PdfDigSig::PdsEncryptionCert 証明書による暗号化時に権限設定をおこなう為に利用します。
PdfDigSig::PdsCertDefine 証明書を指紋またはファイルパスで指定します。

検証設定

電子署名モジュールの検証に関する設定の内容を取得するために使います。

インターフェイス API・コマンド 概要
コマンドライン -vinfo 検証に関する設定を表示
-sign -sign-flag 署名時の証明書検証フラグ指定
.NET PdsModule.getDefaultCertFlag 署名時/検証時の検証設定フラグを取得します。設定はAPIで証明書の検証フラグ(PdsCertFlag)を指定します。
Java getDefaultCertFlag 署名時/検証時の検証設定フラグを取得します。設定はAPIで証明書の検証フラグ(PdsCertFlag)を指定します。
C++ PdfDigSig::PdsModule::getDefaultCertFlag 署名時/検証時の証明書検証フラグを取得します。設定はAPIで証明書の検証フラグ(PdsCertFlag)を指定します。

署名・セキュリィティの付与と検証機能

電子署名モジュールの中核は、署名・セキュリィティの付与と検証に関する次のような機能です。

署名フィールドの作成と電子署名機能

既存のPDFに署名フィールドを作成する機能と、署名フィールドに電子署名をする機能です。次の3つがあります。

  • 署名フィールドのみを作成する機能
  • 署名フィールドの作成と署名/タイムスタンプをつける機能
  • 既存PDFにある未署名の署名フィールドに署名/タイムスタンプをつける。

署名フィールド作成

PDFに新しく署名フィールドを追加します。署名フィールドの名前、署名フィールドの位置(ページ)、大きさ(上下辺、左右辺)の指定が必要です。

インターフェイス API・コマンド 概要
コマンドライン -sign -field 署名フィールドのみ作成してファイル出力
.NET PdsModule.addDigSig createFieldsNum が 1 以上 かつ applyFieldName が NULLの時、署名フィールドのみ作成。但し、詳細はAPIを参照。
Java addDigSig
C++ PdfDigSig::PdsModule::addDigSig

署名フィールド作成と署名/タイムスタンプをつける

PDFに署名フィールドを作成し、署名とタイムスタンプをつける処理を一連の流れで行います。

インターフェイス API・コマンド 概要
コマンドライン -sign -addnew 署名フィールドの作成と署名付与を行いファイル出力
.NET PdsModule.addDigSig createFieldsNum が 1 以上 かつ applyFieldName が NULL でないとき、署名フィールドの作成と署名付与を行います。si と ci の指定(非NULL)は必須です。applyFieldName の署名フィールドは createFields に含まれるか既に存在している必要があります。
Java addDigSig
C++ PdfDigSig::PdsModule::addDigSig
注意: PDFに署名するときに証明書を検証することができます。検証の条件としては、ルート証明書の信頼性を確認するか否か、署名時点での証明書の失効検証を行うか否かを選択できます。検証方法の選択は設定ファイルの検証に関する設定、または、APIで指定します。

未署名の署名フィールドに署名/タイムスタンプをつける

既存PDFにある未署名の署名フィールドに署名/タイムスタンプをつけることができます。未署名の署名フィールドの名前を指定しますと、入力PDFから該当する名前をもつ署名フィールドを探して、署名とタイムスタンプを付けます。

インターフェイス API・コマンド 概要
コマンドライン -sign -add 既存未署名の署名フィールドに署名付与を行いファイル出力
.NET PdsModule.addDigSig createFieldsNum が 0 以下 かつ applyFieldName が NULL でない時、既存署名フィールドに署名付与します。si と ci の指定(非NULL)は必須です。詳細はAPIを参照。
Java addDigSig
C++ PdfDigSig::PdsModule::addDigSig
注意: PDFに署名するときに証明書を検証することができます。検証の条件としては、ルート証明書の信頼性を確認するか否か、署名時点での証明書の失効検証を行うか否かを選択できます。検証方法の選択は設定ファイルの検証に関する設定、または、APIで指定します。

電子署名機能(分割処理)

一連の署名処理を以下の2段階で行うことができます。

  • 署名辞書の生成(PDFオブジェクトの生成とByteRangeの確定)
  • 署名値の計算とPKCS#7等の生成と署名辞書への埋め込み(PKI関連操作)

仮署名機能(署名辞書の生成)

出力結果として署名データがダミー(全てゼロ)になる点と、新しく引数に署名データ種別(PdsSignDataType)の指定が追加された点を除けば、従来の署名付与機能と引数も同じである。従来のPDF電子署名モジュールで利用していた署名データ種別はPDS_SDATA_PKCS7_DETACHである。今回は、サーバとクライアント間の通信量の問題を考慮して署名対象はハッシュ値のみのPDS_SDATA_PKCS7_SHA1とする。

インターフェイス API・コマンド 概要
コマンドライン -sign -make <p7d/p7s/cd/dt>[name] 既存の署名フィールドに仮署名を行いファイル出力。(7d=pkcs7.detached/7s=pkcs7.sha1/cd=CAdES/dt=RFC3161)
-sign -makenew <p7d/p7s/cd/dt>[name] 署名フィールの作成と仮署名を行いファイル出力。。(7d=pkcs7.detached/7s=pkcs7.sha1/cd=CAdES/dt=RFC3161)
.NET PdsModule.makeDigSig 引数によって既存または新しい署名フィールドに仮署名を付与する。署名データはセットされない。引数は、addDigSig()とほぼ同じで署名データ種別(PdsSignDataType)が追加される。createFiledがtrueなら署名フィールドを生成、falseなら既存署名フィールドへの仮署名となる。署名フィールドはPdsSignInfo::m_fieldで指定、その他オプションから必須になる引数もある。C++と.NETのAPI引数はほぼ同じである。 PdsCertInfoにて署名証明書の指定があれば署名外観の所有者等にセットされるが、署名外観に証明書の情報を利用しないなら署名証明書の指定は不要。ダミーで埋め込まれる署名データは全てゼロ "0" となる。 証明書情報(PdsCertInfo)の署名証明書には秘密鍵と関連付けられていない証明書のセットが可能。クライアントPDF署名の場合にはクライアントより証明書を取得(PdsClientXmlクラス利用)してセットすれば良い。
Java PdsModule.makeDigSig
C++ PdsModule::makeDigSig

署名対象取得機能

指定された署名辞書のByteRangeと署名データ種別に従って、署名対象となるデータを取得する。PDS_SDATA_PKCS7_DETACH / PDS_SDATA_CADES_DETACHの場合にはByteRangeの範囲のデータを返し、PDS_SDATA_PKCS7_SHA1 / PDS_SDATA_DOC_TIMESTAMPの場合にはByteRangeの範囲のデータのハッシュ値を返す。ハッシュ値を返す場合にはハッシュアルゴリズムの指定が可能である。なお署名対象となるハッシュ値はバイナリ形式でSHA1の場合20バイト、SHA-2(512bit)の場合64バイトとなる。通常ByteRange範囲の場合には元PDFファイルとほぼ同じサイズが必要になるので注意が必要である。

インターフェイス API・コマンド 概要
コマンドライン -sign -target 署名対象となるデータを取得する。
-sign -target-hash 仮署名がPDS_SDATA_PKCS7_SHA1の時のみ、生成するハッシュのアルゴリズムを指定可能。
.NET PdsModule.getTarget 仮署名がPDS_SDATA_PKCS7_SHA1の場合には、生成する引数htypeで指定したハッシュアルゴリズムにてByteRange範囲を対象としたハッシュ値が返される。仮署名がPDS_SDATA_PKCS7_DETACHまたはPDS_SDATA_CADES_DETACHの場合にはByteRange範囲のデータが返され、htypeの指定は無視される。クライアントPDF署名の場合にはクライアントへの応答に(PdsClientXmlクラス利用)署名対象を返せば良い。
Java PdsModule.getTarget
C++ PdsModule::getTarget

署名データ埋め込み機能

指定された署名辞書に署名データをHEXに変換して埋め込む。HEX化した署名データサイズがダミーで確保したサイズよりも大きい場合はエラーとなる。また仮署名した時に指定された署名データ形式を守る必要がある。

インターフェイス API・コマンド 概要
コマンドライン -sign -embed 署名データを埋め込む。(仮署名済みのPDFが必要です。)
.NET PdsModule.makeEmbed 入力として仮署名済みPDFファイル(inPdf)と署名データ(signData)を与えて、署名済みPDFファイル(outPdf)を取得する。署名データのサイズは仮署名で確保済みサイズ(20キロバイト)より小さい必要があり、余った部分は全てゼロ "0" でパディングされる。埋め込み時に署名値の確認は行われるが、署名証明書等の確認は行われないので、本APIの後で別途検証APIにて検証を行う必要がある。複数署名がある場合には常に最後の署名が対象となる。
Java PdsModule.makeEmbed
C++ PdsModule::makeEmbed

タイムスタンプ追加機能(オプション)

署名データに後から署名タイムスタンプを付与する。現在利用可能な署名データ種別は、PDS_SDATA_PKCS7_DETACHとPDS_SDATA_PKCS7_SHA1の2種類のみ。タイムスタンプ種別としては全て利用が可能となる。

インターフェイス API・コマンド 概要
コマンドライン -sign -addts 署名データにタイムスタンプを追加します。署名基本設定はタイムスタンプ関連の情報のみ利用されます。
.NET PdsModule.addTimeStamp 入力として署名済みかつタイムスタンプは未付与のPDFファイル(inPdf)と署名基本設定(signInfo)を与えて署名データにタイムスタンプを追加して出力PDFファイル(outPdf)を取得する。 署名基本設定はタイムスタンプ設定のみ利用されるので他の設定は無視される。
Java PdsModule.addTimeStamp
C++ PdsModule::addTimeStamp

セキュリティ設定機能

PDF電子署名モジュールが出力するPDFにパスワードまたは電子証明書によるセキュリティを設定する機能です。次の機能があります。

  • 電子証明書によるセキュリティの設定
  • パスワード・セキュリティの設定処理
  • リニアライズ処理

パスワード・セキュリティの設定

PDF電子署名モジュールが出力するPDFに対して、パスワードによるセキュリティ設定を行います。

インターフェイス API・コマンド 概要
コマンドライン -sign -security セキュリティ操作のみ行いファイル出力。
但し、他のコマンドでもセキュリィティ設定の状態によってセキュリティが設定されます。
.NET PdsModule.addDigSig PdsOutputInfo outInfoの設定に応じて出力PDFにセキュリティ設定が付きます。
Java addDigSig
C++ PdfDigSig::PdsModule::addDigSig

電子証明書によるセキュリティ設定

PDF電子署名モジュールが出力するPDFに対して、電子証明書によるセキュリティ設定を行います。

インターフェイス API・コマンド 概要
コマンドライン -sign -security セキュリティ操作のみ行いファイル出力。
但し、他のコマンドでもセキュリィティ設定の状態によってセキュリティが設定されます。セキュリティ設定の種別が証明書による暗号化のとき電子証明書によるセキュリティを設定します。
.NET PdsModule.addDigSig セキュリティ設定の種別がPDS_ENCRYPT_CERTS(証明書による暗号化)のとき電子証明書によるセキュリティを設定します。
Java addDigSig
C++ PdfDigSig::PdsModule::addDigSig

Web表示用に最適化(リニアライズ)

PDF電子署名モジュールが出力するPDFに対して、Web表示用に最適化を設定します。

インターフェイス API・コマンド 概要
コマンドライン -sign -security セキュリティ操作のみ行いファイル出力。
但し、他のコマンドでも出力設定の状態によってリニアライズが設定されます。リニアライズの設定を参照。
.NET PdsModule.addDigSig 出力設定の状態によってリニアライズが設定されます。リニアライズの設定を参照。
Java addDigSig
C++ PdfDigSig::PdsModule::addDigSig

署名に関する各種情報の取得

署名フィールドの状態を取得する機能です。次の機能があります。

  • 署名フィールド番号と署名フィールド名称の一覧を表示
  • 指定署名フィールド番号の署名プロフィールの表示
  • 署名バージョン番号とステータスの一覧取得

署名フィールド番号と署名フィールド名称の一覧を表示

検証対象のPDFファイルに含まれる署名フィールドの一覧を取得します。各署名フィールドが署名済みかどうか、署名済みの場合はさらに署名後修正されているかどうかのステータスを取得できます。

インターフェイス API・コマンド 概要
コマンドライン -verify -sigfldlist 入力PDFの署名フィールドの一覧とそのステータスを取得。
.NET PdsModule.getFieldNames PDF中の署名フィールド名の取得と署名数を取得します。コマンドラインと同等ではありません。
Java getFieldNames
C++ PdfDigSig::PdsModule::getFieldNames
【解説】
署名フィールド番号はファイルの先頭から順に、電子署名モジュールで1番から番号を付与します。

指定署名フィールド番号の署名プロフィールの表示

署名フィールド番号毎にステータスの取得ができます。

インターフェイス API・コマンド 概要
コマンドライン -verify -profile 署名フィールドのプロフィールを取得します。署名の種類については普通署名かMDP署名を示し、MDP署名のときはMDP署名後の変更許可設定が表示されます。
.NET PdsModule.getDigSigProfile
PdsModule.getMdpPermission
①PDF中の署名プロフィールを取得します。署名済み/未署名の区別無く取得できます。
②署名の種類とMDP署名の権限を取得します。
Java getDigSigProfile
getMdpPermission
C++ PdfDigSig::PdsModule::getDigSigProfile
PdfDigSig::PdsModule::getMdpPermission
【解説】
署名フィールド番号を指定して、署名フィールドの名称、署名フィールドのページ番号とページ内の位置(矩形)、可視・不可視の別、署名の有無を取得します。
署名済みの場合は、普通署名かMDP署名か、MDP署名の場合署名後の変更許可設定を取得します。
さらに署名のプロフィール(署名者の名前、署名を付加した日、署名理由・場所・証明書発行者名)、タイムスタンプ付きの場合は、タイムスタンプ発行日付とタイムスタンプ発行者を表示します。
署名後修正されているかどうかについての解説は、署名バージョンの項をご参照ください。

署名バージョン番号とステータスの一覧取得

PDFに含まれるすべての署名の署名バージョン番号と署名後修正されているかどうかのステータスを取得できます。

インターフェイス API・コマンド 概要
コマンドライン -verify -verlist 署名バージョン番号と署名後修正されているかどうかを取得します。
.NET PdsModule.getDocVersion
PdsModule.getFieldNum
PdsModule.getDigSigProfile
①getDocVersionで署名バージョン番号の最大値を得るのと、署名フィールド番号から署名バージョン番号を取得することができます。
②getFieldNumで署名バージョン番号からフィールド番号を取得します。
③getDigSigProfileでフィールド番号で署名フィールドのプロフィールを取得します。
Java getDocVersion
getFieldNum
getDigSigProfile
C++ PdfDigSig::PdsModule::getDocVersion
PdfDigSig::PdsModule::getFieldNum
PdfDigSig::PdsModule::getDigSigProfile
【解説】
署名後修正されているとは、当該署名対象範囲の後ろにデータが存在することを示すものであり、署名対象範囲内のデータ変更有無(改竄の有無)とは別の概念です。
PDF電子署名は、常に、署名する前のPDF全体を署名対象とします。
署名バージョンとは署名対象ドキュメント(署名済みの場合は署名データを追加したもの)を対象とし、その変更履歴に対応する番号となります。
最初の署名済みドキュメントの署名バージョンは1になります。その後、PDFを更新すると、PDFは増分更新され、署名対象範囲の後ろに情報が付加されます。その時点でドキュメントの署名バージョンはひとつ増加して2となります。そして、そのPDFが2つ目の署名で署名済みになりますと、署名済みPDFの署名バージョンが2になります。

署名値・署名証明書の検証

署名を検証するために次の二つの機能があります。

  • 指定署名バージョン番号の署名データ値を検証
  • 指定署名名称の署名証明書の検証

指定署名バージョン番号の署名データ値を検証

署名バージョン番号を指定し、その署名データ値を検証します。

インターフェイス API・コマンド 概要
コマンドライン -verify -signature 署名バージョン番号を指定して、その署名値を検証します。
.NET PdsModule.signatureVerify 署名バージョン番号を指定して、その署名データ(署名値)を検証します。
Java signatureVerify
C++ PdfDigSig::PdsModule::signatureVerify
【解説】
PDF電子署名の署名対象はPDFファイルの先頭から最後までですが、署名辞書の中の電子署名値(Contentsキーの内容)を除く範囲となります。署名後の当該署名の署名対象範囲が署名したときから変更(改竄)されていなければ、「検証結果は有効です」となります。もし、署名後に変更されていれば、「検証結果(署名値)が有効ではありません」となります。この場合、データが改竄されている可能性があります。

指定署名名称の署名証明書の検証

署名バージョン番号を指定し、その署名に使用した電子証明書を検証します。

インターフェイス API・コマンド 概要
コマンドライン -verify -signcert 署名バージョン番号を指定して、署名に用いた証明書を検証します。
.NET PdsModule.signatureCertVerify 署名バージョン番号を指定して、署名に用いた証明書を検証します。
Java signatureCertVerify
C++ PdfDigSig::PdsModule::signatureCertVerify
【解説】
電子証明書の検証は、署名に使用した秘密鍵と証明書の有効性を検証するものであり、署名データ自身の有効性とは独立です。

タイムスタンプ・タイムスタンプ証明書の検証

タイムスタンプを検証するために次の二つの機能があります。

  • 指定署名名称のタイムスタンプ値を検証
  • 指定署名名称のタイムスタンプ署名証明書を検証

指定署名名称のタイムスタンプ値を検証

署名バージョン番号を指定し、そのタイムスタンプ値を検証します。

インターフェイス API・コマンド 概要
コマンドライン -verify -timestamp 署名バージョン番号を指定して、そのタイムスタンプを検証します。
.NET PdsModule.timestampVerify 署名バージョン番号を指定して、そのタイムスタンプを検証します。
Java timestampVerify
C++ PdfDigSig::PdsModule::timestampVerify
【解説】
署名にタイムスタンプがないときは、「未署名かタイプスタンプがありません」となります。

指定署名名称のタイムスタンプ署名証明書を検証

署名バージョン番号を指定し、そのタイムスタンプの証明書を検証します。

インターフェイス API・コマンド 概要
コマンドライン -verify -timecert 署名バージョン番号を指定し、そのタイムスタンプ証明書を検証します。
.NET PdsModule.timestampCertVerify 署名バージョン番号を指定し、そのタイムスタンプ証明書を検証します。
Java timestampCertVerify
C++ PdfDigSig::PdsModule::timestampCertVerify
【解説】
署名にタイムスタンプがないときは、「未署名かタイプスタンプがありません」となります。タイムスタンプ署名証明書の検証は、署名に使用したタイムスタンプ局の秘密鍵とタイムスタンプ証明書の有効性を検証するものであり、タイムスタンプ値自身の有効性とは独立です。

全ての署名の検証

全署名データの値と証明書とタイムスタンプを検証します。

インターフェイス API・コマンド 概要
コマンドライン -verify -all 全署名データの値と証明書とタイムスタンプを検証します。
.NET PdsModule.allVerify 全署名データの値と証明書とタイムスタンプを検証します。
Java allVerify
C++ PdfDigSig::PdsModule::allVerify

署名バージョン番号のPDFファイルを取得

署名バージョン番号を指定し、その署名バージョン番号に相当するPDFファイルを取得します。

これにより、署名した時点のPDFファイルに遡ることができます。

インターフェイス API・コマンド 概要
コマンドライン -verify -getpdf 署名バージョン番号を指定し、その署名バージョン番号に該当するPDFを取り出します。
.NET PdsModule.getDocVersionPdf 署名バージョン番号を指定し、その署名バージョン番号に該当するPDFを取り出します。
Java getDocVersionPdf
C++ PdfDigSig::PdsModule::getDocVersionPDF
【解説】
PDF電子署名をしますと、PDFファイルは増分更新をしなければならないとされています。増分更新では、旧バージョンのPDFはそのまま残り、追加された部分がファイルの後ろに付加されていますので、古いバージョンのPDFを取り出すことができます。

指定署名バージョン番号の署名を無効化

署名バージョンを指定してそのバージョンの署名データを取り除いたように見せます。

インターフェイス API・コマンド 概要
コマンドライン -verify -clear PDF中の署名を無効化します。
.NET PdsModule.clearDigSig PDF中の署名を無効化します。
Java clearDigSig
C++ PdfDigSig::PdsModule::clearDigSig
【解説】
署名済みの部分は一切手を加えないようにするため、PDFを増分更新して指定した署名の部分を「キャンセル」します。

Copyright © 1996-2011 Antenna House, Inc. All right reserved.
Antenna House is a trademark of Antenna House, Inc.