電子署名ライブラリ

電子署名ライブラリの提供

e-Gov電子申請サービスでは、電子署名用のモジュール(以下「電子署名ライブラリ」といいます。)を提供します。
電子署名ライブラリは以下リンクよりダウンロードできます。 なお、電子署名用ライブラリは、上位アプリケーションに同梱して本番利用するものと、開発時に開発用ツールからの実行を可能とするものの2種類提供します。
そのため、ダウンロード後に解凍した際に、本番利用する際は「電子署名ライブラリ_リリース用」SignatureLibrary.dllを使用してください。開発においては、開発ツールからの実行を可能とするため、「電子署名ライブラリ_開発用」のSignatureLibrary.dllを使用してください。
SignatureLibrary.zip

リリース用
MD5(SignatureLibrary.dll)= 00e754368b75bb0d39002abd5c0c8b2d
開発用
MD5(SignatureLibrary.dll)= dcfd08b0a99bb6da605791ca7305e6a5

動作環境

macOSは当面の間、対象外とします。

上位アプリケーションとのインタフェース

電子署名ライブラリの利用にあたり、上位アプリケーションの実装形態として、クライアントアプリケーション(C#で開発)を前提としたものとします。
※C#以外の開発言語により実装された上位アプリケーションにより、電子署名ライブラリの利用を想定する場合、当該上位アプリケーションの開発者において、開発言語に応じた電子署名ライブラリとのインタフェース(開発言語がJava言語である場合は、Java Native Accessパッケージの適用)実装が必要となります。

電子署名ライブラリにおける署名値生成の処理について

e-Gov電子申請サービスにおける署名値の生成に関する処理シーケンスを以下に示します。

署名値の生成時における処理シーケンス
署名値の生成時における処理シーケンス
署名値の生成時における処理内容
処理内容 概要説明
1.電子署名を指示 利用者は電子署名を指示します
2.電子署名ライブラリを呼び出し 電子署名ライブラリを呼び出します
注意 構成管理情報(個別ファイル署名形式の場合は、構成情報)のフォルダパスとファイル名を指定して呼び出します
3.入力パラメータチェック 指定された、入力情報(フォルダパス、ファイル名)をチェックします
4.証明書選択画面を返却 証明書選択画面を利用者に返却します
5.証明書を指定 利用者は、電子署名で使用する証明書を指定します
6.PINコード入力画面を返却 PINコード入力画面を利用者に返却します
7.PINコード入力 利用者は、指定した証明書のPINコードを入力します
8.証明書へアクセス 入力されたPINコードを用いて、証明書へアクセスします
9.ハッシュ値算出 署名用のハッシュ値を算出します
10.署名付与、ファイル保存 構成管理情報へ署名(Signatureタグ全体を生成)し、構成管理情報を保存します
注意 個別ファイル署名形式の場合は、構成情報
11.12.処理結果を返却 処理結果を返却します

インタフェース仕様

電子署名ライブラリに関するインタフェース仕様は以下のとおりです。

パッケージ名
eGovClient
クラス名
Signature
関数名
signature
入力情報
名称 名称(英名) 備考
申請データフォルダパス folderPath String 構成管理情報XMLが格納されているフォルダパス
※個別ファイル署名形式の場合は、構成情報XMLが格納されているフォルダパスを指定します
構成管理情報ファイル名(または、構成情報ファイル名) fileName String 署名対象となる構成管理情報XMLのファイル名
※個別ファイル署名形式の場合は、構成情報XMLのファイル名を指定します
出力情報
名称 内容
処理ステータス -1 : 異常終了 0 : 正常終了 1 : キャンセル
エラー情報 発生したエラー内容 または、トレーサ情報

電子署名ライブラリ利用ガイド

電子署名ライブラリの組込み手順を以下に示します。
なお、以下の手順は上位となるアプリケーションがC#による開発である場合の実装例であり、必ず以下の実装に準拠する必要はありません。

署名時における申請データの構造について

電子署名ライブラリを用いて署名を行う際、指定するフォルダ、ファイルの配置はe-Gov電子申請が指定する申請データ構造である必要があります。(手続選択APIにより申請データ構造のスケルトンがレスポンスされます。このレスポンスされたスケルトンの構造を維持することを前提とします。)なお、署名を行う際の事前条件は、以下の通りです。

事前条件:電子申請を行う際に必要な電子署名情報以外の要素が全て設定されていること。
(詳細については、「申請データ構造に関する仕様について」PDFを参照)

申請データ(通常形式)

申請データ(通常形式)

申請データ(個別ファイル署名形式)

個別ファイル署名形式の場合、申請書様式または、添付書類に対応する構成情報(XML)に対して署名付与を指示します。なお、構成管理情報(XML)には署名は行いません。

申請書様式に対する構成情報(XML)に署名情報を付与する場合(イメージ)
<申請書様式に対する構成情報(XML)に署名情報を付与する場合(イメージ)>
添付書類に対する構成情報(XML)に署名情報を付与する場合(イメージ)
<添付書類に対する構成情報(XML)に署名情報を付与する場合(イメージ)>

参考例

電子署名ライブラリの組み込みに関する定義例は以下のとおりです。

添付書類に対する構成情報(XML)に署名情報を付与する場合(イメージ)
※VisualStudio等の開発ツールによっては、DLLへの参照設定が必要になります。