You are on page 1of 45

iTrust リモート署名サービス

API 利用マニュアル
Version 2.2.1

30 September 2022

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page i

このドキュメントに関する著作権は、サイバートラスト株式会社に独占的に帰属します。このドキュメントに記載されて
いる内容は、予告なしに変更される場合があります。サイバートラスト株式会社は、このドキュメントに誤りが無いことの
保証は致し兼ねます。

このドキュメントの一部または全部を複製することは禁じられており、提供または製造を目的として使用することはでき
ません。

ただし、サイバートラスト株式会社との契約または同意文書で定められている場合に限り、この注記の添付を条件とし
て複製することができます。サイバートラスト株式会社から事前に書面による合意を得ない限り、このドキュメントまた
はその一部から直接的または間接的に知り得た内容または主題に関して、個々の企業やその従業員などの第三者
に対し、口頭、文書、またはその他のいかなる手段によっても伝達することはできません。

本資料に記載されている会社名、製品名、サービス名は、当社または各社、各団体の商標もしくは登録商標です。
その他本資料に関連するイラスト・ロゴ・写真・動画・ソフトウェア等は、当社または第三者が有する知的財産権その
他の権利により守られております。

お客様は、当社が著作権を有するコンテンツにつきましては、特に定めた場合を除き、複製、改変、頒布などをする
ことはできません。

Copyright © Cybertrust Japan Co., Ltd.

All Rights Reserved.

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page ii

Table of Contents

はじめに......................................................................................................................................................................... 1

1. REST API 仕様 ..................................................................................................................................................... 2


1.1. URL 構成 ................................................................................................................................................... 2
1.2. HTTP ヘッダの制約について .................................................................................................................... 2
1.3. 証明書登録 API ......................................................................................................................................... 3
1.4. PDF 電子署名 API ..................................................................................................................................... 4
1.5. PDF 電子署名申請 API(非推奨) ............................................................................................................. 7
1.6. PDF 電子署名状態取得 API(非推奨) ..................................................................................................... 8
1.7. PDF 電子署名結果取得 API(非推奨) ..................................................................................................... 9
1.8. PAdES 作成 API ...................................................................................................................................... 10
1.9. PAdES 作成申請 API(非推奨) ............................................................................................................... 13
1.10. PAdES 作成状態取得 API(非推奨) ....................................................................................................... 14
1.11. PAdES 作成結果取得 API(非推奨) ....................................................................................................... 15
1.12. タイムスタンプ付与 API ............................................................................................................................ 16
1.13. タイムスタンプ付与申請 API(非推奨) .................................................................................................... 18
1.14. タイムスタンプ付与状態取得 API(非推奨) ............................................................................................ 19
1.15. タイムスタンプ付与結果取得 API(非推奨) ............................................................................................ 20
1.16. PDF-L 電子署名 API ............................................................................................................................... 21
1.17. PDF-L 電子署名申請 API(非推奨) ....................................................................................................... 24
1.18. PDF-L 電子署名状態取得 API(非推奨)................................................................................................ 25
1.19. PDF-L 電子署名結果取得 API(非推奨)................................................................................................ 26
1.20. ハッシュ署名 API ..................................................................................................................................... 27
1.21. 署名検証 API ........................................................................................................................................... 29
1.22. メンテナンス確認 API............................................................................................................................... 31
1.23. 証明書チェーン取得 API......................................................................................................................... 31

2. REST API エラー仕様......................................................................................................................................... 33


2.1. HTTP ステータスコード ............................................................................................................................ 33
2.2. エラー応答のデータフォーマット ............................................................................................................. 34

3. 印影画像の座標について ................................................................................................................................... 36
3.1. 基準位置 .................................................................................................................................................. 36
3.2. 座標指定単位 .......................................................................................................................................... 36

4. デフォルト印影画像の仕様 ................................................................................................................................. 37

5. 電子署名およびタイムスタンプの情報の返却パターン ...................................................................................... 38

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page iii

Publication History

Date Version # Summary of Changes

31 July 2018 1.0.0.0 初版

21 August 2019 1.1.0.0 ・iTrust 電子署名用証明書の連携利用開始

・PDF-L 電子署名の各種 API 追加

・デフォルト印影に利用する証明書サブジェクト DN の指定
パラメータを追加
・本マニュアルの名称を変更

・本文の一部表記を修正

2 March 2020 1.1.1.0 ・PDF-L 電子署名申請 API にて印影画像を配置する PDF


ファイル上の Page 指定パラメータを追加
・本文の一部表記を修正

5 November 2020 1.1.6.0 ・リクエストデータの上限値ならびに、HTTP ステータスコード


を追記
・PDF-L 電子署名における reason(署名理由)を最大 2000
文字までに変更
・本文の一部表記を修正
16 December 2020 1.1.6.1 ・HTTP ステータスコードの 400 に PDF 構造解析エラーを追

25 October 2021 2.0.0.0 ・接続先 URL の変更

・従来の申請~結果取得までを包括した API の新規追加

・ハッシュ署名 API の新規追加

・従来の申請、状態取得、結果取得それぞれの API を非推


奨とする記述
・本文の一部表記を修正

18 January 2022 2.1.0.0 ・証明書チェーン取得 API を追加

・PDF 電子署名 API ならび PAdES 作成 API における


reason(署名理由)のリクエストフィールドを追加
・ハッシュ署名 API にて最大 100 件一括署名対応ならびに
レスポンスフィールドに処理結果コードの追加

・HTTP ステータスコードの 504 を追加

・本文の一部表記を修正
16 February 2022 2.1.0.1 ・PDF 電子署名 API ならび PAdES 作成 API におけるペー
ジ指定のリクエストフィールドを追加

・タイムスタンプ付与におけるリクエスト可能な PDF 形式の


変更
18 March 2022 2.1.0.2 ・リクエストデータの最大値を 35MB → 50MB へ変更

・署名検証 API における失敗理由を修正


10 July 2022 2.1.0.3 ・リクエストデータの最大値を 50MB → 60MB へ変更

30 August 2022 2.2.0.0 ・PDF 電子署名 API、PAdES 作成 API、PDF-L 電子署名

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page iv

API における position(デフォルト印影に利用する証明書の


サブジェクト DN の位置)のリクエストフィールドを追加
30 September 2022 2.2.1.0 ・PDF 電子署名 API、PAdES 作成 API、PDF-L 電子署名
API、タイムスタンプ付与 API 、署名検証 API における get-
signature-property(電子署名およびタイムスタンプの情報)
のリクエストフィールドを追加

・電子署名およびタイムスタンプの情報の返却パターンを追

・本文の一部表記を修正

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 1

はじめに
本書は、「iTrust リモート署名サービス」において、電子署名法に基づいた電子契約業務をサービス化した「iTrust リ
モート署名サービス REST(以下、「REST API」という)」について記述したものです。

本書は、REST API の WEB インターフェースについて説明しています。

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 2

1. REST API 仕様
REST API のインターフェース仕様を以下に記します。

1.1. URL 構成

本 REST API が参照するベース URL は次の通りです。


URL https://rs2.itrust.ne.jp/vp/rest
プロトコル HTTPS
ホスト rs2.itrust.ne.jp:443(ドメイン:ポート)
コンテンツ 1 vp
2 rest

※ PDF ファイルのデータを含め、リクエストデータは 60MB 以内までがリクエスト可能となっております。

1.2. HTTP ヘッダの制約について

本 REST API との HTTP 通信において HTTP ヘッダの設定には以下制約があります。


レスポンスボディに含まれる JSON 形式のデータを扱えるように application/json を追
Accept
加してください
Accept-Language 日本語を扱えるように ja-JP, ja を追加してください
Accept-Charset UTF-8 を追加してください
POST リクエストでリクエストボディに JSON 形式のデータを含める場合には、
Content-Type
application/json; charset= UTF-8 を指定してください

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 3

1.3. 証明書登録 API


「サイバートラスト マネージド PKI」にて発行した電子署名用証明書を「iTrust リモート署名サービス」に登録します。
メソッド POST
URL /certs
MIME タイプ application/json; charset=UTF-8

【ご注意】
「iTrust 電子署名用証明書」につきましては本APIを利用した証明書の登録が行えませんので、WEB管理画面よ
りご登録ください。

【リクエスト】
{
"pin" : "ユーザー認証用パスワード",
"request-id" : "リクエストId"
}
※ 下記の条件に該当する場合、証明書を登録できません。
・証明書が失効済み
・証明書の発行が完了していない
・鍵の取得可否が不許可
・有効期限切れ
・有効期間の開始前

【リクエストフィールド】
省略
項目 説明
可否
任意のユーザー認証用パスワード
※ 最大 6 桁の文字を指定可能です。
※ 本 API で PIN を設定した場合、以下の API で PIN による認証が行われま
pin 可 す。
⚫ PDF 電子署名申請 API
⚫ PAdES 作成申請 API
⚫ PDF-L 電子署名申請 API
request-id 必須 電子署名用証明書を識別する識別子

【レスポンス】
200 OK

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 4

1.4. PDF 電子署名 API


PDF ファイルへ電子署名(ES-T 形式)を付与します。電子署名の埋め込みタイムスタンプには認定タイムスタンプ
(Signature TimeStamp)が用いられます。

メソッド POST
URL /customized/pdf/signed-documents
MIME タイプ application/json; charset=UTF-8

【リクエスト】
{
"pin" : "ユーザー認証用パスワード",
"file" : "PDFファイル",
"request-id" : "リクエストId",
"reason" : "XXXによってXXXに作成されました。",
"seal-image" : { "file" : "印影画像", "x" : 10, "y" : 10 },
"default-seal-image" : { "x" : 10, "y" : 10, "title" : "連帯保証人","subject" : "CN"},
"get-signature-property" : true
}
※ 下記の条件に該当する場合、申請できません。
・署名用証明書が失効済み
・署名用証明書の発行が完了していない
・有効期限切れ
・有効期間の開始前

【リクエストフィールド】
○:省略可、△:説明欄参照、×:省略不可
省略
項目 説明
可否
ユーザー認証用パスワード
pin ○ ※ 証明書登録時に PIN を設定された場合、PIN による認証を行います。
PIN を設定していない場合、省略してください。
PDF ファイルを Base64 形式で、エンコードした文字列を指定します。
なお、PDF のバージョンは 1.4~1.7 である必要があります。

file × リクエストが可能な PDF の形式は、以下の通りとなります。


・電子署名やタイムスタンプを付与していない通常の PDF ファイル
・ES 形式の PDF(PDF-L 電子署名)
・ES-T 形式の PDF ファイル(PDF 電子署名)
request-id × 電子署名用証明書を識別する識別子
署名理由文字列(最大 2000 文字まで指定可能)
reason ○
※ 一部環境依存文字は、正しく表示されない場合がございます。
PDF ファイルに配置する任意の印影画像を設定
※ default-seal-image と同時に使用することはできません。
seal-image ○
※ default-seal-image 含めどちらも指定しない場合には、印影画像を付与し
ません。
PDF ファイルに配置する任意の印影画像
画像データを Base64 エンコードした文字列を設定します。
file
△ ※ seal-image 要素を記述した場合、この子要素は必須となります。この要素
(seal-image 子要素)
に設定可能な画像データは JPEG、GIF、PNG の何れかをサポートして
おり、画像ファイルサイズは 500KB 以内である必要があります。
配置する印影画像の PDF ファイル上の水平座標位置
x
△ ※ seal-image 要素を記述した場合、この子要素は必須となります。この要素
(seal-image 子要素)
への設定可能な範囲は 1~4127 までを指定できます。
配置する印影画像の PDF ファイル上の垂直座標位置
y
△ ※ seal-image 要素を記述した場合、この子要素は必須となります。この要素
(seal-image 子要素)
への設定可能な範囲は 1~4127 までを指定できます。

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 5

印影画像を配置する PDF ファイル上のページを指定


page
○ ※ なお、本子要素を省略した場合には、1 ページ目への座標指定となりま
(seal-image 子要素)
す。設定可能な範囲は 1~9999 となります。
デフォルト印影画像を生成する設定
default-seal-image ○ ※ seal-image と同時に使用することはできません。
※ seal-image 含めどちらも指定しない場合には、印影画像を付与しません。
配置するデフォルト印影画像の PDF ファイル上の水平座標位置
x
△ ※ default-seal-image 要素を記述した場合、この子要素は必須となります。こ
(default-seal-image 子要素)
の要素への設定可能な範囲は 1~4127 までを指定できます。
配置するデフォルト印影画像の PDF ファイル上の垂直座標位置
y
△ ※ default-seal-image 要素を記述した場合、この子要素は必須となります。こ
(default-seal-image 子要素)
の要素への設定可能な範囲は 1~4127 までを指定できます。
デフォルト印影画像に描画するタイトル文字列
title
△ ※ default-seal-image 要素を記述した場合、この子要素は必須となります。
(default-seal-image 子要素)
描画するタイトルは全角半角関係なく、1~6 文字までを指定できます。
デフォルト印影に利用する証明書のサブジェクト DN を指定
subject
○ ※ CN=CommonName/O=Organization を表示
(default-seal-image 子要素)
※ 省略時には、Organization を利用します。
デフォルト印影に利用する証明書のサブジェクト DN の位置を指定
postion
○ ※ left=左寄せ/center=中央寄せ で表示
(default-seal-image 子要素)
※ 省略時には、left を利用します。
印影画像を配置する PDF ファイル上のページを指定
page
○ ※ 本子要素を省略した場合には、1 ページ目への座標指定となります。ま
(default-seal-image 子要素)
た、設定可能な範囲は 1~9999 までの数値を指定できます。
電子署名が付与された PDF ファイルに含まれる電子署名およびタイ
get-signature-property ○ ムスタンプの情報を返却するか指定
※ true で取得する、true 以外で取得しない
※ 座標位置指定の詳細については、「3.印影画像の座標について」を参照ください。
※ デフォルト印影の詳細については、「4.デフォルト印影画像の仕様」をご参照ください。
※ 制御文字を含めた場合、署名エラーとなります。

【レスポンス】
get-signature-property を true 以外で指定または省略した場合
201 Created
Content-Type: application/json
Content-Language: ja

{
"file" : "電子署名(ES-T形式)が付与されたPDFファイル",
"signature-id" : "システムが自動で採番する識別子"
}

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 6

get-signature-property を true で指定した場合


201 Created
Content-Type: application/json
Content-Language: ja

{
"file" : "電子署名(ES-T形式)が付与されたPDFファイル",
"signature-id" : "システムが自動で採番する識別子"
"signature-property": {
"digital-signatures": [
{
"field-name": "署名フィールド名",
"issuer-dn": "証明書の発行者のサブジェクト",
"subject-dn": "証明書のサブジェクト",
"signing-time": "署名時刻",
"not-before": "有効期間の開始",
"not-after": "有効期間の終了",
"signature-time-stamp": {
"issuer-dn": "証明書の発行者のサブジェクト",
"subject-dn": "証明書のサブジェクト",
"signing-time": "署名時刻",
"not-before": "有効期間の開始",
"not-after": "有効期間の終了"
}
}
]
}
}
※ signature-property の詳細については、「5 電子署名およびタイムスタンプの情報の返却パターン」を参照ください。

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 7

1.5. PDF 電子署名申請 API(非推奨)

【ご注意】
本 API 含む「1.5. PDF 電子署名申請 API(非推奨)」~「1.7. PDF 電子署名結果取得 API(非推奨)」はサービスとし
て非推奨となっておりますため、「1.4. PDF 電子署名 API」をご利用ください。

PDF ファイルへの電子署名(ES-T 形式)を申請します。電子署名の埋め込みタイムスタンプには認定タイムスタンプ


(Signature TimeStamp)が用いられます。

メソッド POST
URL /pdf/sign-requests
MIME タイプ application/json; charset=UTF-8

【リクエスト】
「1.4. PDF 電子署名 API」と同様

【リクエストフィールド】
「1.4. PDF 電子署名 API」と同様

【レスポンス】
200 OK
Content-Type: application/json
Content-Language: ja

{
"links":[
{
"rel":"next",
"href":" https://~/pdf/sign-states/<SignatureId> "
}
]
}

【レスポンスフィールド】
項目 説明
rel 次の工程でアクセスする URL であることを示します
href PDF 電子署名状態取得 API の URL

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 8

1.6. PDF 電子署名状態取得 API(非推奨)

【ご注意】
本 API 含む「1.5. PDF 電子署名申請 API(非推奨)」~「1.7. PDF 電子署名結果取得 API(非推奨)」はサービスとし
て非推奨となっておりますため、「1.4. PDF 電子署名 API」をご利用ください。

申請された電子署名付与(ES-T 形式)の処理状態を返却します。
メソッド GET
/pdf/sign-states/<SignatureId>
URL
※ <SignatureId>はシステムが自動で採番する識別子です。

【リクエスト】

なし

【リクエストフィールド】

なし

【レスポンス】

処理が完了している場合
201 Created
Content-Type: application/json
Content-Language: ja

{
"links":[
{
"rel":"next",
"href":" https://~/pdf/signed-documents/<SignatureId>"
}
]
}

処理が完了していない場合
202 Accepted

※ 上記以外では、電子署名の付与に失敗した場合は 500(Internal Server Error)を返します。また、電子署名を付与した PDF フ


ァイルの保存期間は最大 8 時間となり、これを経過すると削除されます。そのため 8 時間経過後にアクセスされた場合は存在
しないリソースとなり、404(Not Found)を返します。

【レスポンスフィールド】
項目 説明
rel 次の工程でアクセスする URL であることを示します
href PDF 電子署名結果取得 API の URL

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 9

1.7. PDF 電子署名結果取得 API(非推奨)

【ご注意】
本 API 含む「1.5. PDF 電子署名申請 API(非推奨)」~「1.7. PDF 電子署名結果取得 API(非推奨)」はサービスとし
て非推奨となっておりますため、「1.4. PDF 電子署名 API」をご利用ください。

電子署名が付与された PDF ファイル(ES-T 形式)を返却します。


メソッド GET
/pdf/signed-documents/<SignatureId>
URL
※ <SignatureId>はシステムが自動で採番する識別子です。

【リクエスト】

なし

【リクエストフィールド】

なし

【レスポンス】

ファイルが存在する場合
200 OK
Content-Type: application/json
Content-Language: ja

{
"file" : "電子署名(ES-T形式)が付与されたPDFファイル"
}

処理が完了していない、または既に破棄されている場合
404 Not Found

【レスポンスフィールド】
項目 説明
電子署名(ES-T 形式)が付与された PDF ファイル
file
※ Base64 でエンコードされています。

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 10

1.8. PAdES 作成 API


PDF ファイルへ電子署名(ES-A 形式)を付与します。
メソッド POST
URL /customized/pdf/pades-documents
MIME タイプ application/json; charset=UTF-8

【リクエスト】
{
"pin" : "ユーザー認証用パスワード",
"file" : "PDFファイル",
"request-id" : "リクエストId",
"reason" : "XXXによってXXXに作成されました。",
"seal-image" : { "file" : "印影画像", "x" : 10, "y" : 10 },
"default-seal-image" : { "x" : 10, "y" : 10, "title" : "連帯保証人","subject" : "CN" },
"get-signature-property" : true
}
※ 下記の条件に該当する場合、申請できません。
・署名用証明書が失効済み
・署名用証明書の発行が完了していない
・有効期限切れ
・有効期間の開始前

【リクエストフィールド】
○:省略可、△:説明欄参照、×:省略不可
省略
項目 説明
可否
ユーザー認証用パスワード
pin ○ ※ 証明書登録時に PIN を設定された場合、PIN による認証を行います。PIN
を設定していない場合、省略してください。
PDF ファイルを Base64 形式で、エンコードした文字列を指定します。な
お、PDF のバージョンは 1.4~1.7 である必要があります。
file ×
リクエストが可能な PDF の形式は、以下の通りとなります。
・電子署名やタイムスタンプを付与していない通常の PDF ファイル
・ES 形式の PDF(PDF-L 電子署名)
request-id × 電子署名用証明書を識別する識別子
署名理由文字列(最大 2000 文字まで指定可能)
reason ○
※ 一部環境依存文字は、正しく表示されない場合がございます。
PDF ファイルに配置する任意の印影画像を設定
※ default-seal-image と同時に使用することはできません。
seal-image ○
※ default-seal-image 含めどちらも指定しない場合には、印影画像を付与しま
せん。
PDF ファイルに配置する印影画像
画像データを Base64 エンコードした文字列を設定します。
file
△ ※ seal-image 要素を記述した場合、この子要素は必須となります。この要素に
(seal-image 子要素)
設定可能な画像データは JPEG、GIF、PNG の何れかをサポートしており、
画像ファイルサイズは 500KB 以内である必要があります。
配置する印影画像の PDF ファイル上の水平座標位置
x
△ ※ seal-image 要素を記述した場合、この子要素は必須となります。この要素へ
(seal-image 子要素)
の設定可能な範囲は 1~4127 までを指定できます。
配置する印影画像の PDF ファイル上の垂直座標位置
y
△ ※ seal-image 要素を記述した場合、この子要素は必須となります。この要素へ
(seal-image 子要素)
の設定可能な範囲は 1~4127 までを指定できます。

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 11

印影画像を配置する PDF ファイル上のページを指定


page
○ なお、本子要素を省略した場合には、1 ページ目への座標指定となります。設定
(seal-image 子要素)
可能な範囲は 1~9999 となります。
デフォルト印影画像を生成する設定
default-seal-image ○ ※ seal-image と同時に使用することはできません。
※ seal-image 含めどちらも指定しない場合には、印影画像を付与しません。
配置するデフォルト印影画像の PDF ファイル上の水平座標位置
x
△ ※ default-seal-image 要素を記述した場合、この子要素は必須となります。この
(default-seal-image 子要素)
要素への設定可能な範囲は 1~4127 までを指定できます。
配置するデフォルト印影画像の PDF ファイル上の垂直座標位置
y
△ ※ default-seal-image 要素を記述した場合、この子要素は必須となります。この
(default-seal-image 子要素)
要素への設定可能な範囲は 1~4127 までを指定できます。
デフォルト印影画像に描画するタイトル文字列
title
△ ※ default-seal-image 要素を記述した場合、この子要素は必須となります。描
(default-seal-image 子要素)
画するタイトルは全角半角関係なく、1~6 文字までを指定できます。
デフォルト印影に利用する証明書のサブジェクト DN を指定
subject
○ ※ CN=CommonName/O=Organization を表示
(default-seal-image 子要素)
※ 省略時には、Organization を利用します。
デフォルト印影に利用する証明書のサブジェクト DN の位置を指定
postion
○ ※ left=左寄せ/center=中央寄せ で表示
(default-seal-image 子要素)
省略時には、left を利用します。
印影画像を配置する PDF ファイル上のページを指定
page
○ 本子要素を省略した場合には、1 ページ目への座標指定となります。また、設定
(default-seal-image 子要素)
可能な範囲は 1~9999 までの数値を指定できます。
電子署名が付与された PDF ファイルに含まれる電子署名およびタイム
get-signature-property ○ スタンプの情報を返却するか指定
※ true で取得する、true 以外で取得しない
※ 座標位置指定の詳細については、「3.印影画像の座標について」を参照ください。
※ デフォルト印影の詳細については、「4.デフォルト印影画像の仕様」をご参照ください。
※ 制御文字を含めた場合、署名エラーとなります。

【レスポンス】
get-signature-property を true 以外で指定または省略した場合
201 Created
Content-Type: application/json
Content-Language: ja

{
"file" : "電子署名(ES-A形式)が付与されたPDFファイル",
"signature-id" : "システムが自動で採番する識別子"
}

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 12

get-signature-property を true で指定した場合


201 Created
Content-Type: application/json
Content-Language: ja

{
"file" : "電子署名(ES-A形式)が付与されたPDFファイル",
"signature-id" : "システムが自動で採番する識別子"
"signature-property": {
"digital-signatures": [
{
"field-name": "署名フィールド名",
"issuer-dn": "証明書の発行者のサブジェクト",
"subject-dn": "証明書のサブジェクト",
"signing-time": "署名時刻",
"not-before": "有効期間の開始",
"not-after": "有効期間の終了",
"signature-time-stamp": {
"issuer-dn": "証明書の発行者のサブジェクト",
"subject-dn": "証明書のサブジェクト",
"signing-time": "署名時刻",
"not-before": "有効期間の開始",
"not-after": "有効期間の終了"
}
}
],
"time-stamp": {
"field-name": "署名フィールド名",
"issuer-dn": "証明書の発行者のサブジェクト",
"subject-dn": "証明書のサブジェクト",
"signing-time": "署名時刻",
"not-before": "有効期間の開始",
"not-after": "有効期間の終了"
}
}
}
※ signature-property の詳細については、「5 電子署名およびタイムスタンプの情報の返却パターン」を参照ください。

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 13

1.9. PAdES 作成申請 API(非推奨)

【ご注意】
本 API 含む「1.9. PAdES 作成申請 API(非推奨)」~「1.11. PAdES 作成結果取得 API(非推奨)」はサービスとして
非推奨となっておりますため、「1.8. PAdES 作成 API」をご利用ください。

PDF ファイルへの電子署名付与(ES-A 形式)を申請します。


メソッド POST
URL /pdf/pades-requests
MIME タイプ application/json; charset=UTF-8

【リクエスト】
「1.8. PAdES 作成 API」と同様

【リクエストフィールド】
「1.8. PAdES 作成 API」と同様

【レスポンス】
200 OK
Content-Type: application/json
Content-Language: ja

{
"links":[
{
"rel":"next",
"href":" https://~/pdf/pades-states/<SignatureId>"
}
]
}

【レスポンスフィールド】
項目 説明
rel 次の工程でアクセスする URL であることを示します
href PAdES 作成状態取得 API の URL

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 14

1.10. PAdES 作成状態取得 API(非推奨)

【ご注意】
本 API 含む「1.9. PAdES 作成申請 API(非推奨)」~「1.11. PAdES 作成結果取得 API(非推奨)」はサービスとして
非推奨となっておりますため、「1.8. PAdES 作成 API」をご利用ください。

申請された電子署名付与(ES-A 形式)の処理状態を返却します。
メソッド GET
/pdf/pades-states/<SignatureId>
URL
※ <SignatureId>はシステムが自動で採番する識別子です。

【リクエスト】

なし

【リクエストフィールド】

なし

【レスポンス】

処理が完了している場合
201 Created
Content-Type: application/json
Content-Language: ja

{
"links":[
{
"rel":"next",
"href":" https://~/pdf/pades-documents/<SignatureId>"
}
]
}

処理が完了していない場合
202 Accepted

※ 上記以外では、PAdES 作成失敗した場合は 500(Internal Server Error)を返します。また、作成した PAdES ドキュメントの保存


期間は最大 8 時間となり、最大 8 時間を経過すると削除されます。そのため 8 時間経過後にアクセスされた場合は存在しな
いリソースとなり、404(Not Found)を返します。

【レスポンスフィールド】
項目 説明
rel 次の工程でアクセスする URL であることを示します
href PAdES 作成結果取得 API の URL

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 15

1.11. PAdES 作成結果取得 API(非推奨)

【ご注意】
本 API 含む「1.9. PAdES 作成申請 API(非推奨)」~「1.11. PAdES 作成結果取得 API(非推奨)」はサービスとして
非推奨となっておりますため、「1.8. PAdES 作成 API」をご利用ください。

電子署名が付与された PDF ファイル(ES-A 形式)を返却します。


メソッド GET
/pdf/pades-documents/<SignatureId>
URL
※ <SignatureId>はシステムが自動で採番する識別子です。

【リクエスト】

なし

【リクエストフィールド】

なし

【レスポンス】

ファイルが存在する場合
200 OK
Content-Type: application/json
Content-Language: ja

{
"file" : "電子署名(ES-A形式)が付与されたPDFファイル"
}

処理が完了していない、または既に破棄されている場合
404 Not Found

【レスポンスフィールド】
項目 説明
電子署名(ES-A 形式)が付与された PDF ファイル
file
※ Base64 でエンコードされています。

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 16

1.12. タイムスタンプ付与 API


PDF ファイルへタイムスタンプを付与します。
メソッド POST
URL /customized/pdf/timestamped-documents
MIME タイプ application/json; charset=UTF-8

【リクエスト】
{
"file" : "PDFファイル",
"timestamp-type" : "付与するタイムスタンプの種類",
"get-signature-property" : true
}

【リクエストフィールド】
○:省略可、△:説明欄参照、×:省略不可
省略
項目 説明
可否
PDF ファイルを Base64 形式で、エンコードした文字列を指定します。

timestamp-type にて、ドキュメントデータの内容が変わります。
どちらのタイプを指定した場合でも、PDF のバージョンは 1.4~1.7 であ
る必要があります。

リクエストが可能な PDF の形式は、タイムスタンプの種類によって異な


っており、以下の通りとなります。
file ×
ES_A の場合(長期署名フォーマットに対応)
・ES-T 形式の PDF ファイル(PDF 電子署名)
・ES-A 形式の PDF ファイル(PAdES 作成)
・タイムスタンプが付与されている PDF ファイル

DocTimeStamp の場合
・電子署名やタイムスタンプを付与していない通常の PDF ファイル
・ES 形式の PDF ファイル
付与するタイムスタンプの種類
timestamp-type × ES_A: タイムスタンプ追加
DocTimeStamp: ドキュメントタイムスタンプ
電子署名が付与された PDF ファイルに含まれる電子署名およびタイム
get-signature-property ○ スタンプの情報を返却するか指定
※ true で取得する、true 以外で取得しない

【レスポンス】
get-signature-property を true 以外で指定または省略した場合
201 Created
Content-Type: application/json
Content-Language: ja

{
"file" : "タイムスタンプが付与されたPDFファイル",
"signature-id" : "システムが自動で採番する識別子"
}

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 17

get-signature-property を true で指定した場合


201 Created
Content-Type: application/json
Content-Language: ja

{
"file" : "タイムスタンプが付与されたPDFファイル",
"signature-id" : "システムが自動で採番する識別子"
"signature-property": {
"digital-signatures": [
{
"field-name": "署名フィールド名",
"issuer-dn": "証明書の発行者のサブジェクト",
"subject-dn": "証明書のサブジェクト",
"signing-time": "署名時刻",
"not-before": "有効期間の開始",
"not-after": "有効期間の終了",
"signature-time-stamp": {
"issuer-dn": "証明書の発行者のサブジェクト",
"subject-dn": "証明書のサブジェクト",
"signing-time": "署名時刻",
"not-before": "有効期間の開始",
"not-after": "有効期間の終了"
}
}
],
"time-stamp": {
"field-name": "署名フィールド名",
"issuer-dn": "証明書の発行者のサブジェクト",
"subject-dn": "証明書のサブジェクト",
"signing-time": "署名時刻",
"not-before": "有効期間の開始",
"not-after": "有効期間の終了"
}
}
}
※ signature-property の詳細については、「5 電子署名およびタイムスタンプの情報の返却パターン」を参照ください。

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 18

1.13. タイムスタンプ付与申請 API(非推奨)

【ご注意】
本 API 含む「1.13. タイムスタンプ付与申請 API(非推奨)」~「1.15. タイムスタンプ付与結果取得 API(非推奨)」は
サービスとして非推奨となっておりますため、「1.12. タイムスタンプ付与 API」をご利用ください。

PDF ファイルへのタイムスタンプ付与を申請します。
メソッド POST
URL /pdf/timestamping-requests
MIME タイプ application/json; charset=UTF-8

【リクエスト】
「1.12. タイムスタンプ付与 API」と同様

【リクエストフィールド】
「1.12. タイムスタンプ付与 API」と同様

【レスポンス】
200 OK
Content-Type: application/json
Content-Language: ja

{
"links":[
{
"rel":"next",
"href":" https://~/pdf/timestamping-states/<SignatureId>"
}
]
}

【レスポンスフィールド】
項目 説明
rel 次の工程でアクセスする URL であることを示します
href タイムスタンプ付与状態取得 API の URL

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 19

1.14. タイムスタンプ付与状態取得 API(非推奨)

【ご注意】
本 API 含む「1.13. タイムスタンプ付与申請 API(非推奨)」~「1.15. タイムスタンプ付与結果取得 API(非推奨)」は
サービスとして非推奨となっておりますため、「1.12. タイムスタンプ付与 API」をご利用ください。

申請されたタイムスタンプ付与の処理状態を返却します。
メソッド GET
/pdf/timestamping-states/<SignatureId>
URL
※ <SignatureId>はシステムが自動で採番する識別子です。

【リクエスト】

なし

【リクエストフィールド】

なし

【レスポンス】

処理が完了している場合
201 Created
Content-Type: application/json
Content-Language: ja

{
"links":[
{
"rel":"next",
"href":" https://~/pdf/timestamped-documents/<SignatureId>"
}
]
}

処理が完了していない場合
202 Accepted

※ 上記以外では、タイムスタンプ付与に失敗した場合は 500(Internal Server Error)を返します。また、タイムスタンプを付与した


PDF ファイルの保存期間は最大 8 時間となり、最大 8 時間を経過すると削除されます。そのため 8 時間経過後にアクセスされ
た場合は存在しないリソースとなり、404(Not Found)を返します。

【レスポンスフィールド】
項目 説明
rel 次の工程でアクセスする URL であることを示します
href タイムスタンプ付与結果取得 API の URL

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 20

1.15. タイムスタンプ付与結果取得 API(非推奨)

【ご注意】
本 API 含む「1.13. タイムスタンプ付与申請 API(非推奨)」~「1.15. タイムスタンプ付与結果取得 API(非推奨)」は
サービスとして非推奨となっておりますため、「1.12. タイムスタンプ付与 API」をご利用ください。

タイムスタンプが付与された PDF ファイルを返却します。


メソッド GET
/pdf/timestamped-documents/<SignatureId>
URL
※ <SignatureId>はシステムが自動で採番する識別子です。

【リクエスト】

なし

【リクエストフィールド】

なし

【レスポンス】

ファイルが存在する場合
200 OK
Content-Type: application/json
Content-Language: ja

{
"file" : "タイムスタンプが付与されたPDFファイル"
}

処理が完了していない、または既に破棄されている場合
404 Not Found

【レスポンスフィールド】
項目 説明
タイムスタンプが付与された PDF ファイル
file
※ Base64 でエンコードされています。

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 21

1.16. PDF-L 電子署名 API


PDF ファイルへ電子署名(ES 形式)を付与します。署名した時刻は、Signing time 形式を付与します。
メソッド POST
URL /customized/pdf/signed-l-documents
MIME タイプ application/json; charset=UTF-8

【リクエスト】
{
"pin" : "ユーザー認証用パスワード",
"file" : "PDFファイル",
"request-id" : "リクエストId",
"reason" : "XXXによってXXXに作成されました。",
"seal-image" : { "file" : "印影画像", "x" : 10, "y" : 10, "page" : 1 },
"default-seal-image" : { "x" : 10, "y" : 10, "title" : "連帯保証人","subject" : "CN", "page" : 1 },
"get-signature-property" : true
}
※ 下記の条件に該当する場合、申請できません。
・署名用証明書が失効済み
・署名用証明書の発行が完了していない
・有効期限切れ
・有効期間の開始前

【リクエストフィールド】
○:省略可、△:説明欄参照、×:省略不可
省略
項目 説明
可否
ユーザー認証用パスワード
pin ○ ※ 証明書登録時に PIN を設定された場合、PIN による認証を行います。
PIN を設定していない場合、省略してください。
PDF ファイルを Base64 形式で、エンコードした文字列を指定します。
なお、PDF のバージョンは 1.4~1.7 である必要があります。
file ×
リクエストが可能な PDF の形式は、以下の通りとなります。
・電子署名やタイムスタンプを付与していない通常の PDF ファイル
・ES 形式の PDF(PDF-L 電子署名)
request-id × 電子署名用証明書を識別する識別子
署名理由文字列(最大 2000 文字まで指定可能)
reason ○
※ 一部環境依存文字は、正しく表示されない場合がございます。
PDF ファイルに配置する任意の印影画像を設定
※ default-seal-image と同時に使用することはできません。
seal-image ○
※ default-seal-image 含めどちらも指定しない場合には、印影画像を付与し
ません。
PDF ファイルに配置する印影画像
画像データを Base64 エンコードした文字列を設定します。
file
△ ※ seal-image 要素を記述した場合、この子要素は必須となります。この要素
(seal-image 子要素)
に設定可能な画像データは JPEG、GIF、PNG の何れかをサポートして
おり、画像ファイルサイズは 500KB 以内である必要があります。
配置する印影画像の PDF ファイル上の水平座標位置
x
△ ※ seal-image 要素を記述した場合、この子要素は必須となります。この要素
(seal-image 子要素)
への設定可能な範囲は 1~4127 までを指定できます。
配置する印影画像の PDF ファイル上の垂直座標位置
y
△ ※ seal-image 要素を記述した場合、この子要素は必須となります。この要素
(seal-image 子要素)
への設定可能な範囲は 1~4127 までを指定できます。
印影画像を配置する PDF ファイル上のページを指定
page
○ ※ なお、本子要素を省略した場合には、1 ページ目への座標指定となりま
(seal-image 子要素)
す。設定可能な範囲は 1~9999 となります。

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 22

デフォルト印影画像を生成する設定
default-seal-image ○ ※ seal-image と同時に使用することはできません。
※ seal-image 含めどちらも指定しない場合には、印影画像を付与しません。
配置するデフォルト印影画像の PDF ファイル上の水平座標位置
x
△ ※ default-seal-image 要素を記述した場合、この子要素は必須となります。こ
(default-seal-image 子要素)
の要素への設定可能な範囲は 1~4127 までを指定できます。
配置するデフォルト印影画像の PDF ファイル上の垂直座標位置
y
△ ※ default-seal-image 要素を記述した場合、この子要素は必須となります。こ
(default-seal-image 子要素)
の要素への設定可能な範囲は 1~4127 までを指定できます。
デフォルト印影画像に描画するタイトル文字列
title
△ ※ default-seal-image 要素を記述した場合、この子要素は必須となります。
(default-seal-image 子要素)
描画するタイトルは全角半角関係なく、1~6 文字までを指定できます。
デフォルト印影に利用する証明書のサブジェクト DN を指定
subject
○ ※ CN=CommonName/O=Organization を表示
(default-seal-image 子要素)
※ 省略時には、Organization を利用します。
デフォルト印影に利用する証明書のサブジェクト DN の位置を指定
postion
○ ※ left=左寄せ/center=中央寄せ で表示
(default-seal-image 子要素)
省略時には、left を利用します。
印影画像を配置する PDF ファイル上のページを指定
page
○ ※ 本子要素を省略した場合には、1 ページ目への座標指定となります。ま
(default-seal-image 子要素)
た、設定可能な範囲は 1~9999 までの数値を指定できます。
電子署名が付与された PDF ファイルに含まれる電子署名の情報を返
get-signature-property ○ 却するか指定
true で取得する、true 以外で取得しない
※ 座標位置指定の詳細については、「3.印影画像の座標について」を参照ください。
※ デフォルト印影の詳細については、「4.デフォルト印影画像の仕様」をご参照ください。
※ 制御文字を含めた場合、署名エラーとなります。

【レスポンス】
get-signature-property を true 以外で指定または省略した場合
201 Created
Content-Type: application/json
Content-Language: ja

{
"file" : "電子署名(ES形式)が付与されたPDFファイル",
"signature-id" : "システムが自動で採番する識別子"
}

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 23

get-signature-property を true で指定した場合


201 Created
Content-Type: application/json
Content-Language: ja

{
"file" : "電子署名が付与されたPDFファイル",
"signature-id" : "システムが自動で採番する識別子"
"signature-property": {
"digital-signatures": [
{
"field-name": "署名フィールド名",
"issuer-dn": "証明書の発行者のサブジェクト",
"subject-dn": "証明書のサブジェクト",
"signing-time": "署名時刻",
"not-before": "有効期間の開始",
"not-after": "有効期間の終了",
}
]
}
}
※ signature-property の詳細については、「5 電子署名およびタイムスタンプの情報の返却パターン」を参照ください。

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 24

1.17. PDF-L 電子署名申請 API(非推奨)

【ご注意】
本 API 含む「1.17. PDF-L 電子署名申請 API(非推奨)」~「1.19. PDF-L 電子署名結果取得 API(非推奨)」はサー
ビスとして非推奨となっておりますため、「1.16. PDF-L 電子署名 API」をご利用ください。

PDF ファイルへの電子署名(ES 形式)を申請します。署名した時刻は、Signing time 形式を付与します。


メソッド POST
URL /pdf/sign-l-requests
MIME タイプ application/json; charset=UTF-8

【リクエスト】
「1.16. PDF-L 電子署名 API」と同様

【リクエストフィールド】
「1.16. PDF-L 電子署名 API」と同様

【レスポンス】
200 OK
Content-Type: application/json
Content-Language: ja

{
"links":[
{
"rel":"next",
"href":" https://~/pdf/sign-l-states/<SignatureId> "
}
]
}

【レスポンスフィールド】
項目 説明
rel 次の工程でアクセスする URL であることを示します
href PDF 電子署名状態取得 API の URL

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 25

1.18. PDF-L 電子署名状態取得 API(非推奨)

【ご注意】
本 API 含む「1.17. PDF-L 電子署名申請 API(非推奨)」~「1.19. PDF-L 電子署名結果取得 API(非推奨)」はサー
ビスとして非推奨となっておりますため、「1.16. PDF-L 電子署名 API」をご利用ください。

申請された電子署名付与(ES 形式)の処理状態を返却します。
メソッド GET
/pdf/sign-l-states/<SignatureId>
URL
※ <SignatureId>はシステムが自動で採番する識別子です。

【リクエスト】

なし

【リクエストフィールド】

なし

【レスポンス】

処理が完了している場合
201 Created
Content-Type: application/json
Content-Language: ja

{
"links":[
{
"rel":"next",
"href":" https://~/pdf/signed-l-documents/<SignatureId>"
}
]
}

処理が完了していない場合
202 Accepted

※ 上記以外では、電子署名の付与に失敗した場合は 500(Internal Server Error)を返します。また、電子署名を付与した PDF フ


ァイルの保存期間は最大 8 時間となり、これを経過すると削除されます。そのため 8 時間経過後にアクセスされた場合は存在
しないリソースとなり、404(Not Found)を返します。

【レスポンスフィールド】
項目 説明
rel 次の工程でアクセスする URL であることを示します
href PDF 電子署名結果取得 API の URL

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 26

1.19. PDF-L 電子署名結果取得 API(非推奨)

【ご注意】
本 API 含む「1.17. PDF-L 電子署名申請 API(非推奨)」~「1.19. PDF-L 電子署名結果取得 API(非推奨)」はサー
ビスとして非推奨となっておりますため、「1.16. PDF-L 電子署名 API」をご利用ください。

電子署名(ES 形式)が付与された PDF ファイルを返却します。


メソッド GET
/pdf/signed-l-documents/<SignatureId>
URL
※ <SignatureId>はシステムが自動で採番する識別子です。

【リクエスト】

なし

【リクエストフィールド】

なし

【レスポンス】

ファイルが存在する場合
200 OK
Content-Type: application/json
Content-Language: ja

{
"file" : "電子署名が付与されたPDFファイル"
}

処理が完了していない、または既に破棄されている場合
404 Not Found

【レスポンスフィールド】
項目 説明
電子署名が付与された PDF ファイル
file
※ Base64 でエンコードされています。

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 27

1.20. ハッシュ署名 API


ハッシュ値に対し、電子署名を付与します。
※ 主に iTrust リモート署名サービス クライアントライブラリにて、署名済みファイルを作成する場合に利用
メソッド POST
URL /signatures/signHash
MIME タイプ application/json; charset=UTF-8

【リクエスト】
{
"pin" : "ユーザー認証用パスワード",
"hash" : ["ハッシュ①", "ハッシュ②", "ハッシュ③"],
"requestId" : "リクエストId",
"hashAlgo" : "2.16.840.1.101.3.4.2.1",
"signAlgo" : "1.2.840.113549.1.1.1"
}

【リクエストフィールド】
○:省略可、△:説明欄参照、×:省略不可
省略
項目 説明
可否
ユーザー認証用パスワード
pin ○
証明書登録時に PIN を設定された場合、PIN による認証を行います。
ハッシュデータを Base64 形式で、エンコードした文字列を指定しま
す。
hash × ※ ハッシュのデータサイズは指定したハッシュアルゴリズムに対応したデー
タサイズである必要があります。
※ ハッシュは最大 100 件指定可能です。
requestId × 電子署名用証明書を識別する識別子
ハッシュアルゴリズム
hashAlgo × ※ 固定値となります。”2.16.840.1.101.3.4.2.1” をご指定ください。(SHA-256
の OID)
署名アルゴリズム
signAlgo × ※ 固定値となります。”1.2.840.113549.1.1.1” をご指定ください。(RSA の
OID)
※ 下記の条件に該当する場合、申請できません。
・署名用証明書が失効済み
・署名用証明書の発行が完了していない
・有効期限切れ
・有効期間の開始前

【レスポンス】
201 Created
Content-Type: application/json
Content-Language: ja

{
"signatures":
[
{
"signature": "システムが生成したハッシュの署名値",
"signatureId": "システムが自動で採番する識別子"
"resultCode": "処理結果コード"
}
]

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 28

【レスポンスフィールド】
項目 説明
システムが生成したハッシュの署名値
signature
※ Base64 でエンコードされています。
signatureId システムが自動で採番する識別子
resultCode 処理結果コード

【処理結果コード】
コード 説明
0 処理が成功しました。
パラメータの検証処理で問題を確認しました。
-1
ハッシュ長が不正です。
パラメータの検証処理で問題を確認しました。
-2
ハッシュが Base64 でエンコードされていません。
-3 署名処理でエラーが発生しました。
署名処理でのエラーを検知したため、それ以降の署名は署名処理を中断しまし
-10
た。

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 29

1.21. 署名検証 API


PDF ファイルに付与された電子署名を検証します。
メソッド POST
URL /pdf/validating-documents
MIME タイプ application/json; charset=UTF-8

【リクエスト】
{
"file" : "電子署名が付与されたPDFファイル",
"get-signature-property" : true
}

【リクエストフィールド】
○:省略可、△:説明欄参照、×:省略不可
省略
項目 説明
可否
電子署名が付与された PDF ファイル
file ×
PDF ファイルを Base64 でエンコードした文字列を設定します。
PDF ファイルに含まれる電子署名およびタイムスタンプの情報を返却
get-signature-property ○ するか指定
※ true で取得する、true 以外で取得しない

【レスポンス】

get-signature-propertyをtrue以外で指定または省略し、署名検証に成功した場合
200 OK
Content-Type: application/json
Content-Language: ja

{
"status":"Success"
}

get-signature-property を true で指定し、署名検証に成功した場合


200 OK
Content-Type: application/json
Content-Language: ja

{
"status":"Success"
"signature-property": {
"digital-signatures": [
{
"field-name": "署名フィールド名",
"issuer-dn": "証明書の発行者のサブジェクト",
"subject-dn": "証明書のサブジェクト",
"signing-time": "署名時刻",
"not-before": "有効期間の開始",
"not-after": "有効期間の終了",
"signature-time-stamp": {
"issuer-dn": "証明書の発行者のサブジェクト",
"subject-dn": "証明書のサブジェクト",
"signing-time": "署名時刻",

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 30

"not-before": "有効期間の開始",
"not-after": "有効期間の終了"
}
}
],
"time-stamp": {
"field-name": "署名フィールド名",
"issuer-dn": "証明書の発行者のサブジェクト",
"subject-dn": "証明書のサブジェクト",
"signing-time": "署名時刻",
"not-before": "有効期間の開始",
"not-after": "有効期間の終了"
}
}
}

※ signature-property の詳細については、「5 電子署名およびタイムスタンプの情報の返却パターン」を参照ください。

署名検証に失敗した場合
200 OK
Content-Type: application/json
Content-Language: ja

{
"status":"Failure",
"reason":"invalid_signature",
"message":"署名値が不正です"
}

【レスポンスフィールド】
項目 説明
status 署名検証に成功した場合は"Success"、失敗した場合は"Failure"を返します。
reason 署名検証の失敗理由
message 失敗原因を示す詳細メッセージ

【署名検証の失敗理由】
署名検証の失敗理由は以下の通りです。
理由 意味
invalid_signature 署名が正しくない
revoked_certificate 署名したタイムスタンプ証明書が失効している
expired_certificate 署名したタイムスタンプ証明書の有効期限が切れている
証明書のパス構築に失敗
certificate_path_building_failed
署名したタイムスタンプ証明書の正当性を検証できない
service_failed タイムスタンプ署名サービスで障害が発生した

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 31

1.22. メンテナンス確認 API


サービスがメンテナンス中であるかどうかを返却します。
メソッド GET
URL /maintenances

【レスポンス】

サービス中の場合
200 OK

メンテナンス中の場合
503 Service Unavailable

1.23. 証明書チェーン取得 API


指定された署名用秘密鍵に対応する証明書チェーンを返します。
※ 主に iTrust リモート署名サービス クライアントライブラリにて、署名済みファイルを作成する場合に利用
メソッド POST
URL /certs/get-certchain
MIME タイプ application/json; charset=UTF-8

【リクエスト】
{
"pin" : "ユーザー認証用パスワード",
"requestId" : "リクエストId",
}

【リクエストフィールド】
項目 省略可否 説明
ユーザー認証用パスワード
pin ○ ※ 証明書登録 API で PIN が設定された場合、PIN による認証を
行います。
requestId × 電子署名用証明書を識別する識別子
※ 下記の条件に該当する場合、取得できません。
・証明書が失効済み
・証明書の発行が完了していない
・有効期限切れ
・有効期間の開始前

【レスポンス】
200 Created
Content-Type: application/json
Content-Language: ja

{
"certificates" : [
"エンドユーザ証明書",
"中間証明書",

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 32

"ルート証明書"
]
}

【レスポンスフィールド】
項目 説明
証明書データ
※ 配列形式でこの順番で返されます。
certificates
※ 各データは Base64 でエンコードされています。
※ 中間証明書は階層構造に合わせるため、0 から複数個の場合があります。

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 33

2. REST API エラー仕様


2.1. HTTP ステータスコード
REST API は成功時の応答とエラー応答のために標準の HTTP ステータスコードを返します。

ステータスコード 意味
200(OK) リクエストが成功した
リソースを作成した
201(CREATED)
POST メソッドによるリソース作成リクエストが成功した
202(ACCEPTED) 処理が完了していない
リクエストが不正
400(BAD REQUEST) JSON 形式の書式に問題がある、PDF 構造解析エラー、バリデーシ
ョンエラー
認証が必要
401(UNAUTHORIZED)
テナント認証で PIN が正しくない等
登録されていない接続先から接続された場合や、利用停止の場合
403(FORBIDDEN)

リソースが見つからない
404(NOT FOUND)
リソースが作成中か既に破棄されている
許可されていないメソッド
405(METHOD NOT ALLOWED)
URI に対して許可されていない HTTP メソッドを利用した場合等
受理できない
406(NOT ACCEPTABLE)
Accept ヘッダに application/json が指定されていない
413(REQUEST ENTITY TOO LARGE) リクエストデータが大きすぎる
415(UNSUPPORTED MEDIA TYPE) 指定されたメディアタイプが application/json ではない
サーバ内部エラー
500(INTERNAL SERVER ERROR)※
処理中に例外が発生した
503(SERVICE UNAVAILABLE) メンテナンス中
他のサーバからの応答が返らずタイムアウト
504(GATEWAY TIME-OUT)
※署名検証のための失効情報が取得できなかった時に返す
※ 「サイバートラスト マネージド PKI」にて、Organization(組織名)を省略した署名用証明書を発行ならびに、本サービスへ登録
を行い、この署名用証明書を利用した PDF 電子署名申請/PAdES 作成申請/PDF-L 電子署名申請の API を実行すると
500error となってしまいますので、Organization(組織名)は省略しないでください。

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 34

2.2. エラー応答のデータフォーマット
HTTP ステータスコードに加えてエラー詳細を通知する場合には、RFC7807 に規定されているデータフォーマットに
従います。このデータフォーマットでは、MIME タイプに application/problem+json を使用します。

本 REST API では単一エラーを通知する場合と複数エラーを通知する場合とで、2 つのデータフォーマットを定義し


ています。
複数エラーのデータフォーマットはバリデーションエラー時に使用し、それ以外のエラーについては単一エラーのデ
ータフォーマットを使用します。

【複数エラーのデータフォーマット】
400 Bad Request
Content-Type: application/problem+json
Content-Language: ja

{
"type": "about:blank",
"title": "リクエストパラメータが無効です",
"invalid-params": [
{
"name": "file",
"reason": "印影画像が指定されていません"
},
{
"name": "y",
"reason": "整数値を指定する必要があります"
}
],
"error-identifier": "invalid_parameter",
"timestamp":"2017-07-05T20:10:18Z"
}

【フィールド】
項目 説明
エラー内容を説明するドキュメントの URL
type 本 REST API では、エラー説明のドキュメントは用意しないため、about:blank が
固定で設定されます
title エラー内容のサマリー
invalid-params:name 検証エラーとなった項目名
invalid-params:reason 検証エラーとなった理由
error-identifier エラー種類を識別する識別子
timestamp エラーが発生した時間を ISO8601 の拡張形式(UTC)で返します

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 35

【単一エラーのデータフォーマット】
500 Internal Server Error
Content-Type: application/problem+json
Content-Language: ja

{
"type":"about:blank",
"title": "システム障害が発生しました",
"detail": "データベースに接続できませんでした",
"error-identifier": "system_error",
"timestamp": "2017-07-05T20:10:18Z"
}

【フィールド】
項目 説明
エラー内容を説明するドキュメントの URL
type 本 REST API では、エラー説明のドキュメントは用意しないため、about:blank が
固定で設定されます
title エラー内容のサマリー
エラー詳細を示す説明文
detail
※ 詳細な説明が必要な場合に設定されます
error-identifier エラー種類を識別する識別子
timestamp エラーが発生した時間を ISO8601 の拡張形式(UTC)で返します

【エラー種類】
error-identifier が示すエラー種類は以下の通りです。
エラー種類 意味
invalid_parameter パラメータ不正
system_error システム障害が発生
pin_authentication_error PIN によるテナント認証に失敗
not_allowed_access アクセス権がない接続

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 36

3. 印影画像の座標について
印影画像の配置位置指定について以下に記します。

3.1. 基準位置
座標は、PDF の左上を基準として指定します。
X 座標が増加するほど右に、Y 座標が増加するほど下に配置されます。
印影画像は指定された座標を基点(画像の左上の位置)として配置されます。

3.2. 座標指定単位
座標には 1/72 インチを単位とした 1 以上の整数値(※)を指定します。
指定できる最大値(以下、最大値)は、配置対象の用紙サイズにより異なります。
※ 1≦X≦最大値 かつ 1≦Y≦最大値

以下の計算により、用紙サイズ(mm)から、指定できる最大値が得られます。(1 インチ = 25.4mm)


指定できる最大値=(【用紙サイズ(mm)】 ÷ 25.4) × 72

例1) A4 サイズ(横)の場合、横幅が 297mm なので、X 座標として指定できる最大値は


(297 ÷ 25.4) × 72 = 約 842 となります。

例2) 基準位置から縦横 254mm(10 インチ)の位置に印影画像を配置する場合


X = 10 * 72 = 720、Y = 10 * 72 = 720 を指定することになります。

254mm

254mm

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 37

4. デフォルト印影画像の仕様

デフォルト印影は、システムが自動的に生成する画像を使用した印影です。
印影画像の仕様は以下の通りです。

←タイトル(全半角 1~6 文字) [印影設定より入力指定]


←署名年月日 [自動]

←証明書 CN または O(全半角最大 40 文字) [自動]

←署名済 [自動]

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 38

5. 電子署名およびタイムスタンプの情報の返却パターン

リクエストに get-signature-property が使用できる API にて電子署名およびタイムスタンプの情報が取得できます。


PDF ファイルに付与されている、または、付与した電子署名およびタイムスタンプによって返却する情報が異なります。
以下に返却する情報のパターンを記します。

【レスポンスフィールド】
項目 説明
PDF ファイルに含まれる電子署名およびタイムスタンプの情報
signature-property
※ 電子署名の解析に失敗した場合は本要素を返却しません。
電子署名の情報
※ 電子署名が付与された PDF ファイルに含まれる電子署名の数だけ返
digital-signatures
却します。
(signature-property 子要素)
※ PDF ファイルに電子署名が付与されていない場合は本要素を返却し
ません。
field-name
署名フィールド名
(digital-signatures 子要素)
issuer-dn
証明書の発行者のサブジェクト
(digital-signatures 子要素)
subject-dn
証明書のサブジェクト
(digital-signatures 子要素)
署名時刻
signing-time
※ 電子署名の signedAttrs に含まれる SigningTime を返却します。
(digital-signatures 子要素)
※ SigningTime が取得できない場合は空("")で返却します。
not-before
電子署名で用いられている電子署名用証明書の有効期間開始
(digital-signatures 子要素)
not-after
電子署名で用いられている電子署名用証明書の有効期間終了
(digital-signatures 子要素)
電子署名の埋め込みタイムスタンプ
signature-time-stamp
※ PDF ファイルの電子署名に埋め込みタイムスタンプが無い場合は本要
(digital-signatures 子要素)
素を返却しません。
issuer-dn
証明書の発行者のサブジェクト
(signature-time-stamp 子要素)
subject-dn
証明書のサブジェクト
(signature-time-stamp 子要素)
signing-time 署名時刻
(signature-time-stamp 子要素) ※ 埋め込みタイムスタンプの genTime を返却します。
not-before 埋め込みタイムスタンプで用いられているタイムスタンプ証明書の
(signature-time-stamp 子要素) 有効期間開始
not-after 埋め込みタイムスタンプで用いられているタイムスタンプ証明書の
(signature-time-stamp 子要素) 有効期間終了
タイムスタンプ
time-stamp ※ PDF ファイルに付与した最新のタイムスタンプのみ返却します。
(signature-property 子要素) ※ PDF ファイルにタイムスタンプが付与されていない場合は本要素を返
却しません。
field-name
署名フィールド名
(time-stamp 子要素)
issuer-dn
証明書の発行者のサブジェクト
(time-stamp 子要素)
subject-dn
証明書のサブジェクト
(time-stamp 子要素)
signing-time 署名時刻
(time-stamp 子要素) ※ タイムスタンプの genTime を返却します。
not-before
タイムスタンプ証明書の有効期間開始
(time-stamp 子要素)
not-after
タイムスタンプ証明書の有効期間終了
(time-stamp 子要素)

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 39

【レスポンスフィールドのAPI毎の返却パターン】
●:必須で返却、○:インプットとなる PDF ファイルに署名またはタイムスタンプが付与されていれば返却
タイムスタ PDF-L
PDF 電子 PAdES 署名検証
項目 ンプ付与 電子署名
署名 API 作成 API API
API API
signature-property ● ● ○ ● ●
digital-signatures
● ● ○ ● ○
(signature-property 子要素)
field-name
● ● ○ ● ○
(digital-signatures 子要素)
issuer-dn
● ● ○ ● ○
(digital-signatures 子要素)
subject-dn
● ● ○ ● ○
(digital-signatures 子要素)
signing-time
● ● ○ ● ○
(digital-signatures 子要素)
not-before
● ● ○ ● ○
(digital-signatures 子要素)
not-after
● ● ○ ● ○
(digital-signatures 子要素)
signature-time-stamp
● ● ○ ○
(digital-signatures 子要素)
issuer-dn
● ● ○ ○
(signature-time-stamp 子要素)
subject-dn
● ● ○ ○
(signature-time-stamp 子要素)
signing-time
● ● ○ ○
(signature-time-stamp 子要素)
not-before
● ● ○ ○
(signature-time-stamp 子要素)
not-after
● ● ○ ○
(signature-time-stamp 子要素)
time-stamp
● ● ○
(signature-property 子要素)
field-name
● ● ○
(time-stamp 子要素)
issuer-dn
● ● ○
(time-stamp 子要素)
subject-dn
● ● ○
(time-stamp 子要素)
signing-time
● ● ○
(time-stamp 子要素)
not-before
● ● ○
(time-stamp 子要素)
not-after
● ● ○
(time-stamp 子要素)

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.


iTrust リモート署名サービス API 利用マニュアル| Page 40

【レスポンスイメージ】
"signature-property": {
"digital-signatures": [
{
"field-name": "Signature1",
"issuer-dn": "CN=Cybertrust iTrust Signature Certification Authority,O=Cybertrust Japan Co.\\,
Ltd.,organizationIdentifier=JCN3010401064771,C=JP",
"subject-dn": "CN=20220414085440GSPQJK9EJB21QDSU,OU=iTrust Remote
Signature,O=Cybertrust Japan Co.\\,Ltd.,C=JP",
"signing-time": "2022/09/09 15:33:03",
"not-before": "2022/04/14 08:55:52",
"not-after": "2025/05/14 08:55:00",
"signature-time-stamp": {
"issuer-dn": "CN=SECOM TimeStamping CA3, O=\"SECOM Trust Systems CO.,LTD.\", C=JP",
"subject-dn": "CN=AMANO-TSU-221, OU=Thales TSS ESN:7BA3-2881-3D22, OU=e-timing TSA,
O=AMANO Corporation, L=Yokohama, ST=Kanagawa, C=JP",
"signing-time": "2022/09/09 15:33:03",
"not-before": "2021/09/29 11:36:02",
"not-after": "2032/10/29 11:36:02"
}
}
],
"time-stamp": {
"field-name": "Signature2",
"issuer-dn": "CN=SECOM TimeStamping CA3, O=\"SECOM Trust Systems CO.,LTD.\", C=JP",
"subject-dn": "CN=AMANO-TSU-321, OU=Thales TSS ESN:D420-2845-7C98, OU=e-timing TSA,
O=AMANO Corporation, L=Yokohama, ST=Kanagawa, C=JP",
"signing-time": "2022/09/09 15:33:03",
"not-before": "2021/09/29 11:41:27",
"not-after": "2032/10/29 11:41:27"
}
}

Copyright © Cybertrust Japan Co., Ltd. All Rights Reserved.

You might also like