Professional Documents
Culture Documents
API 利用マニュアル
Version 2.2.1
30 September 2022
このドキュメントに関する著作権は、サイバートラスト株式会社に独占的に帰属します。このドキュメントに記載されて
いる内容は、予告なしに変更される場合があります。サイバートラスト株式会社は、このドキュメントに誤りが無いことの
保証は致し兼ねます。
このドキュメントの一部または全部を複製することは禁じられており、提供または製造を目的として使用することはでき
ません。
ただし、サイバートラスト株式会社との契約または同意文書で定められている場合に限り、この注記の添付を条件とし
て複製することができます。サイバートラスト株式会社から事前に書面による合意を得ない限り、このドキュメントまた
はその一部から直接的または間接的に知り得た内容または主題に関して、個々の企業やその従業員などの第三者
に対し、口頭、文書、またはその他のいかなる手段によっても伝達することはできません。
本資料に記載されている会社名、製品名、サービス名は、当社または各社、各団体の商標もしくは登録商標です。
その他本資料に関連するイラスト・ロゴ・写真・動画・ソフトウェア等は、当社または第三者が有する知的財産権その
他の権利により守られております。
お客様は、当社が著作権を有するコンテンツにつきましては、特に定めた場合を除き、複製、改変、頒布などをする
ことはできません。
Table of Contents
はじめに......................................................................................................................................................................... 1
3. 印影画像の座標について ................................................................................................................................... 36
3.1. 基準位置 .................................................................................................................................................. 36
3.2. 座標指定単位 .......................................................................................................................................... 36
4. デフォルト印影画像の仕様 ................................................................................................................................. 37
5. 電子署名およびタイムスタンプの情報の返却パターン ...................................................................................... 38
Publication History
・デフォルト印影に利用する証明書サブジェクト DN の指定
パラメータを追加
・本マニュアルの名称を変更
・本文の一部表記を修正
・本文の一部表記を修正
16 February 2022 2.1.0.1 ・PDF 電子署名 API ならび PAdES 作成 API におけるペー
ジ指定のリクエストフィールドを追加
・電子署名およびタイムスタンプの情報の返却パターンを追
加
・本文の一部表記を修正
はじめに
本書は、「iTrust リモート署名サービス」において、電子署名法に基づいた電子契約業務をサービス化した「iTrust リ
モート署名サービス REST(以下、「REST API」という)」について記述したものです。
1. REST API 仕様
REST API のインターフェース仕様を以下に記します。
1.1. URL 構成
【ご注意】
「iTrust 電子署名用証明書」につきましては本APIを利用した証明書の登録が行えませんので、WEB管理画面よ
りご登録ください。
【リクエスト】
{
"pin" : "ユーザー認証用パスワード",
"request-id" : "リクエストId"
}
※ 下記の条件に該当する場合、証明書を登録できません。
・証明書が失効済み
・証明書の発行が完了していない
・鍵の取得可否が不許可
・有効期限切れ
・有効期間の開始前
【リクエストフィールド】
省略
項目 説明
可否
任意のユーザー認証用パスワード
※ 最大 6 桁の文字を指定可能です。
※ 本 API で PIN を設定した場合、以下の API で PIN による認証が行われま
pin 可 す。
⚫ PDF 電子署名申請 API
⚫ PAdES 作成申請 API
⚫ PDF-L 電子署名申請 API
request-id 必須 電子署名用証明書を識別する識別子
【レスポンス】
200 OK
メソッド 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 である必要があります。
【レスポンス】
get-signature-property を true 以外で指定または省略した場合
201 Created
Content-Type: application/json
Content-Language: ja
{
"file" : "電子署名(ES-T形式)が付与されたPDFファイル",
"signature-id" : "システムが自動で採番する識別子"
}
{
"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 電子署名およびタイムスタンプの情報の返却パターン」を参照ください。
【ご注意】
本 API 含む「1.5. PDF 電子署名申請 API(非推奨)」~「1.7. PDF 電子署名結果取得 API(非推奨)」はサービスとし
て非推奨となっておりますため、「1.4. PDF 電子署名 API」をご利用ください。
メソッド 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
【ご注意】
本 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
【レスポンスフィールド】
項目 説明
rel 次の工程でアクセスする URL であることを示します
href PDF 電子署名結果取得 API の URL
【ご注意】
本 API 含む「1.5. PDF 電子署名申請 API(非推奨)」~「1.7. PDF 電子署名結果取得 API(非推奨)」はサービスとし
て非推奨となっておりますため、「1.4. PDF 電子署名 API」をご利用ください。
【リクエスト】
なし
【リクエストフィールド】
なし
【レスポンス】
ファイルが存在する場合
200 OK
Content-Type: application/json
Content-Language: ja
{
"file" : "電子署名(ES-T形式)が付与されたPDFファイル"
}
処理が完了していない、または既に破棄されている場合
404 Not Found
【レスポンスフィールド】
項目 説明
電子署名(ES-T 形式)が付与された PDF ファイル
file
※ Base64 でエンコードされています。
【リクエスト】
{
"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 までを指定できます。
【レスポンス】
get-signature-property を true 以外で指定または省略した場合
201 Created
Content-Type: application/json
Content-Language: ja
{
"file" : "電子署名(ES-A形式)が付与されたPDFファイル",
"signature-id" : "システムが自動で採番する識別子"
}
{
"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 電子署名およびタイムスタンプの情報の返却パターン」を参照ください。
【ご注意】
本 API 含む「1.9. PAdES 作成申請 API(非推奨)」~「1.11. PAdES 作成結果取得 API(非推奨)」はサービスとして
非推奨となっておりますため、「1.8. PAdES 作成 API」をご利用ください。
【リクエスト】
「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
【ご注意】
本 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
【レスポンスフィールド】
項目 説明
rel 次の工程でアクセスする URL であることを示します
href PAdES 作成結果取得 API の URL
【ご注意】
本 API 含む「1.9. PAdES 作成申請 API(非推奨)」~「1.11. PAdES 作成結果取得 API(非推奨)」はサービスとして
非推奨となっておりますため、「1.8. PAdES 作成 API」をご利用ください。
【リクエスト】
なし
【リクエストフィールド】
なし
【レスポンス】
ファイルが存在する場合
200 OK
Content-Type: application/json
Content-Language: ja
{
"file" : "電子署名(ES-A形式)が付与されたPDFファイル"
}
処理が完了していない、または既に破棄されている場合
404 Not Found
【レスポンスフィールド】
項目 説明
電子署名(ES-A 形式)が付与された PDF ファイル
file
※ Base64 でエンコードされています。
【リクエスト】
{
"file" : "PDFファイル",
"timestamp-type" : "付与するタイムスタンプの種類",
"get-signature-property" : true
}
【リクエストフィールド】
○:省略可、△:説明欄参照、×:省略不可
省略
項目 説明
可否
PDF ファイルを Base64 形式で、エンコードした文字列を指定します。
timestamp-type にて、ドキュメントデータの内容が変わります。
どちらのタイプを指定した場合でも、PDF のバージョンは 1.4~1.7 であ
る必要があります。
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" : "システムが自動で採番する識別子"
}
{
"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 電子署名およびタイムスタンプの情報の返却パターン」を参照ください。
【ご注意】
本 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
【ご注意】
本 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
【レスポンスフィールド】
項目 説明
rel 次の工程でアクセスする URL であることを示します
href タイムスタンプ付与結果取得 API の URL
【ご注意】
本 API 含む「1.13. タイムスタンプ付与申請 API(非推奨)」~「1.15. タイムスタンプ付与結果取得 API(非推奨)」は
サービスとして非推奨となっておりますため、「1.12. タイムスタンプ付与 API」をご利用ください。
【リクエスト】
なし
【リクエストフィールド】
なし
【レスポンス】
ファイルが存在する場合
200 OK
Content-Type: application/json
Content-Language: ja
{
"file" : "タイムスタンプが付与されたPDFファイル"
}
処理が完了していない、または既に破棄されている場合
404 Not Found
【レスポンスフィールド】
項目 説明
タイムスタンプが付与された PDF ファイル
file
※ Base64 でエンコードされています。
【リクエスト】
{
"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 となります。
デフォルト印影画像を生成する設定
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" : "システムが自動で採番する識別子"
}
{
"file" : "電子署名が付与されたPDFファイル",
"signature-id" : "システムが自動で採番する識別子"
"signature-property": {
"digital-signatures": [
{
"field-name": "署名フィールド名",
"issuer-dn": "証明書の発行者のサブジェクト",
"subject-dn": "証明書のサブジェクト",
"signing-time": "署名時刻",
"not-before": "有効期間の開始",
"not-after": "有効期間の終了",
}
]
}
}
※ signature-property の詳細については、「5 電子署名およびタイムスタンプの情報の返却パターン」を参照ください。
【ご注意】
本 API 含む「1.17. PDF-L 電子署名申請 API(非推奨)」~「1.19. PDF-L 電子署名結果取得 API(非推奨)」はサー
ビスとして非推奨となっておりますため、「1.16. PDF-L 電子署名 API」をご利用ください。
【リクエスト】
「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
【ご注意】
本 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
【レスポンスフィールド】
項目 説明
rel 次の工程でアクセスする URL であることを示します
href PDF 電子署名結果取得 API の URL
【ご注意】
本 API 含む「1.17. PDF-L 電子署名申請 API(非推奨)」~「1.19. PDF-L 電子署名結果取得 API(非推奨)」はサー
ビスとして非推奨となっておりますため、「1.16. PDF-L 電子署名 API」をご利用ください。
【リクエスト】
なし
【リクエストフィールド】
なし
【レスポンス】
ファイルが存在する場合
200 OK
Content-Type: application/json
Content-Language: ja
{
"file" : "電子署名が付与されたPDFファイル"
}
処理が完了していない、または既に破棄されている場合
404 Not Found
【レスポンスフィールド】
項目 説明
電子署名が付与された PDF ファイル
file
※ Base64 でエンコードされています。
【リクエスト】
{
"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": "処理結果コード"
}
]
【レスポンスフィールド】
項目 説明
システムが生成したハッシュの署名値
signature
※ Base64 でエンコードされています。
signatureId システムが自動で採番する識別子
resultCode 処理結果コード
【処理結果コード】
コード 説明
0 処理が成功しました。
パラメータの検証処理で問題を確認しました。
-1
ハッシュ長が不正です。
パラメータの検証処理で問題を確認しました。
-2
ハッシュが Base64 でエンコードされていません。
-3 署名処理でエラーが発生しました。
署名処理でのエラーを検知したため、それ以降の署名は署名処理を中断しまし
-10
た。
【リクエスト】
{
"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"
}
{
"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": "署名時刻",
"not-before": "有効期間の開始",
"not-after": "有効期間の終了"
}
}
],
"time-stamp": {
"field-name": "署名フィールド名",
"issuer-dn": "証明書の発行者のサブジェクト",
"subject-dn": "証明書のサブジェクト",
"signing-time": "署名時刻",
"not-before": "有効期間の開始",
"not-after": "有効期間の終了"
}
}
}
署名検証に失敗した場合
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 タイムスタンプ署名サービスで障害が発生した
【レスポンス】
サービス中の場合
200 OK
メンテナンス中の場合
503 Service Unavailable
【リクエスト】
{
"pin" : "ユーザー認証用パスワード",
"requestId" : "リクエストId",
}
【リクエストフィールド】
項目 省略可否 説明
ユーザー認証用パスワード
pin ○ ※ 証明書登録 API で PIN が設定された場合、PIN による認証を
行います。
requestId × 電子署名用証明書を識別する識別子
※ 下記の条件に該当する場合、取得できません。
・証明書が失効済み
・証明書の発行が完了していない
・有効期限切れ
・有効期間の開始前
【レスポンス】
200 Created
Content-Type: application/json
Content-Language: ja
{
"certificates" : [
"エンドユーザ証明書",
"中間証明書",
"ルート証明書"
]
}
【レスポンスフィールド】
項目 説明
証明書データ
※ 配列形式でこの順番で返されます。
certificates
※ 各データは Base64 でエンコードされています。
※ 中間証明書は階層構造に合わせるため、0 から複数個の場合があります。
ステータスコード 意味
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(組織名)は省略しないでください。
2.2. エラー応答のデータフォーマット
HTTP ステータスコードに加えてエラー詳細を通知する場合には、RFC7807 に規定されているデータフォーマットに
従います。このデータフォーマットでは、MIME タイプに application/problem+json を使用します。
【複数エラーのデータフォーマット】
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)で返します
【単一エラーのデータフォーマット】
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 アクセス権がない接続
3. 印影画像の座標について
印影画像の配置位置指定について以下に記します。
3.1. 基準位置
座標は、PDF の左上を基準として指定します。
X 座標が増加するほど右に、Y 座標が増加するほど下に配置されます。
印影画像は指定された座標を基点(画像の左上の位置)として配置されます。
3.2. 座標指定単位
座標には 1/72 インチを単位とした 1 以上の整数値(※)を指定します。
指定できる最大値(以下、最大値)は、配置対象の用紙サイズにより異なります。
※ 1≦X≦最大値 かつ 1≦Y≦最大値
254mm
254mm
4. デフォルト印影画像の仕様
デフォルト印影は、システムが自動的に生成する画像を使用した印影です。
印影画像の仕様は以下の通りです。
←署名済 [自動]
5. 電子署名およびタイムスタンプの情報の返却パターン
【レスポンスフィールド】
項目 説明
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 子要素)
【レスポンスフィールドの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 子要素)
【レスポンスイメージ】
"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"
}
}