トップページ > システム製品情報 > PDF電子署名モジュール 製品トップ > 機能紹介:署名処理プログラム
『PDF電子署名モジュール』は、上位のアプリケーション(WebアプリケーションからAPIで呼び出して使用します。言語インターフェイスには次の種類があります。
『PDF電子署名モジュール』の機能は大きく次の二つに分類できます。
以下では、各機能について概略を紹介しています。詳細は、本製品に付属する各インターフェイスのAPI説明をご参照ください。
『PDF電子署名モジュール』はGUI版設定プログラムで作成した設定ファイルの内容を参照して、デフォルト設定として使用します。さらに、『PDF電子署名モジュール』の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-file | PFX/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電子署名モジュール』が出力する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 | 証明書を指紋またはファイルパスで指定します。 |
『PDF電子署名モジュール』の検証に関する設定の内容を取得するために使います。
インターフェイス | API・コマンド | 概要 |
---|---|---|
コマンドライン | -vinfo | 検証に関する設定を表示 |
-sign -sign-flag | 署名時の証明書検証フラグ指定 | |
.NET | PdsModule.getDefaultCertFlag | 署名時/検証時の検証設定フラグを取得します。設定はAPIで証明書の検証フラグ(PdsCertFlag)を指定します。 |
Java | getDefaultCertFlag | 署名時/検証時の検証設定フラグを取得します。設定はAPIで証明書の検証フラグ(PdsCertFlag)を指定します。 |
C++ | PdfDigSig::PdsModule::getDefaultCertFlag | 署名時/検証時の証明書検証フラグを取得します。設定はAPIで証明書の検証フラグ(PdsCertFlag)を指定します。 |
『PDF電子署名モジュール』の中核は、署名・セキュリィティの付与と検証に関する次のような機能です。
既存のPDFに署名フィールドを作成する機能と、署名フィールドに電子署名をする機能です。次の3つがあります。
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段階で行うことができます。
出力結果として署名データがダミー(全てゼロ)になる点と、新しく引数に署名データ種別(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 |
『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 |
【解説】
署名フィールド番号はファイルの先頭から順に、『PDF電子署名モジュール』で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ファイルに遡ることができます。
インターフェイス | 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を増分更新して指定した署名の部分を「キャンセル」します。