CData Arc とeviDaemon で電子文書へのタイムスタンプ署名付与や検証を自動化する

by 色川穂高 | 2023年09月28日

 
こんにちは。CData Software Japanの色川です。
 
近年ではビジネスドキュメントの多くが電子文書として運用・保管されていると思います。劣化がなく複製や編集が容易な電子文書では、ドキュメントに対する真実性の確保(原本の担保)が重要ですが、そこで主に利用されているのが電子文書へのタイムスタンプ署名です。
 
こちらの資料によると、第三者機関である時刻認証業務認定事業者によってのみ発行される認定タイムスタンプの発行件数は、右肩上がりで年間3億件を超えるようになって久しいそうです。
 

 

ここ数年、話題豊富な、国税関係の帳簿や書類を電子的に保存する際の要件等について定めた「電子帳簿保存法」でも、真実性の確保に関する要件としてタイムスタンプの付与が主要な措置の1つとして挙げられています。
 

 

改正された電子帳簿保存法ではタイムスタンプの付与をはじめ、幾つかの対応措置が挙げられており、それらに対応した各社クラウドストレージへのファイル連携などでは既にCData Arc を活用頂いているケースは多いのですが「オンプレミスやイントラネット内でのドキュメント運用・保管でタイムスタンプの付与や検証を自己運用する形で自動化したい」と言う声を頂く事があります。
 
そこでこの記事では、CData Arc からセイコーソリューションズ株式会社が提供する長期署名クラウドサービス「eviDaemon」を利用して、電子文書へのタイムスタンプ署名付与や検証を自動化する方法をご紹介します。
 

eviDaemon(エビデモン)

セイコーソリューションズ株式会社の「eviDaemon(エビデモン)」は、総務大臣認定タイムスタンプの発行に加え、国際標準規格「XAdES(XML規格)」、国際標準規格業界「PAdES(PDF規格)」に準拠した長期署名データの生成、検証を行うことができるソリューションです。
 
eviDaemon がインストールされた環境でコマンド等から動かすことにより、タイムスタンプ・電子署名を付与することができます。既存の仕組みやシステムを活かしながら、電子データの原本性を確保する長期署名データを生成することができ、将来的な使用範囲の拡張や、e シール対応などもスムーズに行えます。eviDaemon はオンプレミス環境での利用も可能なため、オンプレミス環境でタイムスタンプ付与を行いたいケースにも最適なソリューションです。
 
 
この記事では、国際標準規格業界「PAdES(PDF規格)」に準拠し、タイムスタンプ・署名の付与や検証の自動化に長けた「eviDaemon for PAdES」を利用します。
 

CData Arc

CData Arc は、CData 製品の中で「自動化/Automate」を担うデータ連携ツールです。「B2B 連携をもっとシンプルに」をコンセプトに、ファイル連携 & DB 連携 & API 連携といったB2B 連携に必要なすべてをノーコード・ローコードでつなぐことができるプラットフォームです。
 
 

この記事のシナリオ

この記事では「電子文書にタイムスタンプを付与してファイル連携するシナリオ」を中心にご紹介します。
 
 
具体的には、オンプレミスのローカルフォルダにある電子文書に対して、eviDaemon でタイムスタンプを付与し、タイムスタンプ署名された電子文書をクラウドストレージであるBox へ連携します。Arc の豊富なMFT コネクタと柔軟で強力なArcScript を利用すれば、このようにシンプルなフローで実現することができます。
 
 
eviDaemon for PAdES では豊富な機能が提供されており、この記事の様にタイムスタンプや署名を付与する以外にも、電子文書のタイムスタンプや署名の状況を検証したりする事も、各文書の署名の有効期限などの情報を得る事もできます。記事の後半ではそれらの機能の自動化にも触れています。ぜひ併せてご覧ください。
 

事前準備

CData 製品のダウンロードとインストール

この記事のシナリオでは、こちらの製品を利用します。30 日間のトライアルライセンスが提供されていますので、ぜひお手元で試してみてください。 
CData Arc のインストールはこちらを参考にしてください。

eviDaemon for PAdES

eviDaemon for PAdES のインストールや構成はシンプルです。今回はC ドライブに以下のような構成でeviDaemon for PAdES をインストールしました。Windows 環境の場合、eviDaemon for PAdES は提供されているバッチファイル群をインタフェースとして実行することができます。
 
 
eviDaemon for PAdES の機能や構成について、詳しくはeviDaemon for PAdES のマニュアルをご確認ください。
 
eviDaemon for PAdES をインストールしたフォルダパスの情報は、フロー設定の中で扱いやすいようにCData Arc のグローバルVault(Arc のフローで参照できる変数)へ以下のように登録しています。
 
 

ローカルフォルダ(連携元)

この記事では、ローカルフォルダ「取引先A」に含まれるPDF ファイルにタイムスタンプ署名を付与してBox へ連携します。「取引先A」のローカルフォルダには「見積書」と「請求書」のサブフォルダが存在し、それぞれPDF ファイルが保管されています。Arc のMFT コネクタはサブフォルダを再帰的に取得・連携することができますので、こういった場面でも便利です。
 
 
 

Box(連携先)

Box の「取引先A」フォルダが連携先です。ここに、それぞれのサブフォルダの構造を保ったまま連携します。
 
 

CData Arc スタートアップガイドとナレッジベース

CData Arc を使いはじめるときは、こちらも参考にしてください。
 
CData Arc に関するナレッジは、こちらにまとめています。あわせて参考にしてください。
 
それでは実際に連携フローを作成していきます。
 

連携フローの作成(タイムスタンプ署名の付与)

このシナリオで作成する連携フローは以下のような流れになっています。
 
コネクタ 内容
1 File 取得元フォルダに含まれるPDF ファイルを取得
2 Script 1 で取得したファイルに対して、署名タイムスタンプツール(PdfSignTs)を実行してタイムスタンプ署名を付与
3 Box 2 でタイムスタンプ署名を付与したPDF ファイルをBox にアップロード
 
 

File コネクタ

最初に、File コネクタを配置し「取得元フォルダに含まれるPDF ファイルを取得」するための設定をします。コアカテゴリから「File コネクタ」を選択・配置します。
 
 
「パス」に取得元フォルダとして「C:\取引先A」を設定し、ファイルマスクを「*.pdf」と設定します。
 
 
サブフォルダに配置されたPDF ファイルを取得できるように「高度な設定」の「リモートサブディレクトリを再帰」を有効にします。取得されたファイルがどのサブフォルダから取得されたファイルかはメタデータとして連携され、その情報をもとに連携先であるBox でディレクトリ構造を構築することができます。
 
 
これで「取得元フォルダに含まれるPDF ファイルを取得」するための設定は完了です。
 

Script コネクタ

次にScript コネクタを配置して「取得したファイルに対して、署名タイムスタンプツール(PdfSignTs)を実行してタイムスタンプ署名を付与」する設定をします。コアカテゴリから「Script コネクタ」を選択・配置します。
 
 
Script コネクタは、Arc に搭載されているスクリプト言語であるArcScript を実行できるコネクタです。ArcScript はデータの操作や連携に必要な機能を数多く備えており、この記事のように「バッチファイルなどの実行可能な外部ファイルを起動したい」ときのために、sysExecute というオペレーション(操作)を備えています。この記事ではsysExecute を利用して、下記のように「署名タイムスタンプツール(PdfSignTs)」を起動します。
 
署名タイムスタンプツール(PdfSignTs)のパラメータ仕様等について、詳しくはeviDaemon for PAdES のマニュアルをご確認ください。
 
 
<arc:set attr="Name"       value="[Vault(PdfSignTsPath)]" />
<arc:set attr="Arguments"  value="-in [FilePath] -out [FilePath] -type DocTimeStamp" />
<arc:call op="sysExecute">
  <arc:check attr="sys:error">
<arc:throw code="myerror" desc="[sys:error]" />
  </arc:check>
</arc:call>
<arc:set attr="output.filepath" value="[FilePath]" />
<arc:push item="output" />
 
CData Arc に搭載されているArcScript はとてもパワフルなスクリプト言語です。様々な事情で標準のコネクタでは実現しにくい独自のカスタムロジックを必要とする場面もあるかと思いますが、そんな時はArcScript の出番です。この記事では詳しく触れませんが、ArcScript に興味を持って頂いた方はこちらのナレッジベースもぜひ参考にしてください。
 
File コネクタからフローをつないだら、Script コネクタの設定は完了です。
 

Box コネクタ

最後にBox コネクタを配置して「タイムスタンプ署名を付与したPDF ファイルをBox にアップロード」するための設定をします。MFT カテゴリから「Box」コネクタを選択・配置します。
 
 
Box へ接続します。埋め込みクレデンシャルを利用しますので、認証はとてもシンプルです。
 
 
 
 
接続ができたら、アップロード先を指定する「送信 - リモートフォルダ」へ「取引先A」と指定します。
 
 
これで、Box コネクタの設定は完了です。
 
Script コネクタから、Box コネクタにフローをつなぎます。これで、タイムスタンプ署名を付与したPDF ファイルがBox へアップロードされます。
 

連携フローの実行

作成したフローを実行して確認してみましょう。
 
起点となるFile コネクタからフローを実行してみます。アウトプットタブから「受信」を実行します。
 
 
フローの終点となるBox コネクタのインプットタブの結果を確認します。Box へのアップロードの成功が確認できます。
 
 
Box には連携元と同じフォルダ構造で連携され、それぞれのPDF ファイルがタイムスタンプ署名されていることが確認できます。
 
 
 

連携フローの自動実行

CData Arc ではフローを定期実行するスケジューラ機能を持っています。今回のシナリオであれば、フローの起点となるコネクタの「オートメーション」タブで設定することができます。1時間に1度、毎時0分に定期実行する場合は、このように設定します。
 
 

その他(タイムスタンプ署名の付与状況を検証)

eviDaemon for PAdES で提供されている機能は豊富です。ご紹介したタイムスタンプ署名の付与以外にも、例えば、電子文書のタイムスタンプや署名の付与状況を検証する機能として「署名タイムスタンプ検証ツール(PdfSignTsVerify)」が提供されています。
 
 
この「署名タイムスタンプ検証ツール(PdfSignTsVerify)」をArc から利用することで「適切にタイムスタンプや署名が付与されているファイルだけを連携する」というようなフローもシンプルに実現頂くことができます。
 
 

その他(タイムスタンプの有効期限一覧をリスト化)

その他にも、PDF ファイルに付与されているタイムスタンプの有効期限をファイル出力する「有効期限出力ツール(PdfTsExpirationList)」等の機能も提供されています。
 
 
この「有効期限出力ツール(PdfTsExpirationList)」は結果をシンプルなTSV で出力しますが、Arc と組み合わせれば「指定したフォルダに含まれるPDF ファイル群のタイムスタンプ有効期限をExcel に一覧形式で出力してメールで通知」するようなフローもシンプルに実現頂くことができます。
 
 

おわりに

企業で利用される電子文書の数は増加の一途です。運用・保管する電子文書は、その生成元や授受の流れも様々かと思います。改正された電子帳簿保存法への対応のみならず、電子文書の真実性を確保するために認定タイムスタンプを活用する機会は今後ますます増えていきそうです。
 
認定タイムスタンプの発行数でトップシェアを誇るセイコーソリューションズ株式会社が提供する長期署名クラウドサービス「eviDaemon」と、さまざまなファイル連携コネクタを搭載したCData Arc を組み合わせれば、今回の記事のようにシンプルな形で電子文書へのタイムスタンプ署名付与や検証を自動化することができます。
 
CData Arc はシンプルで拡張性の高いコアフレームワークに、豊富なMFT・EDI・エンタープライズコネクタを備えたパワフルな製品です。CData Drivers との組み合わせで250を超えるアプリケーションへの連携を実現できます。必要な連携を低価格からはじめられる事も大きな特長です。
 
皆さんのつなぎたいシナリオでぜひ CData Arc を試してみてください。

 
製品を試していただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。
この記事では CData Arc™ 2023 - 23.2.8630.0 を利用していま

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。