公的個人認証サービス

利用者クライアントソフト API 仕様書【Android インテント編】

第 1.7 版

地方公共団体情報システム機構

変更履歴
版数

変更日付

1.0 版

平成 28 年 8 月 31 日

変更内容
新規作成
Java9 対応に伴い、以下を修正。

1.1 版

平成 29 年 7 月 31 日

・第２章

ドキュメント体系図を改訂。

・

第３章

第１節

表３-１の【PC 接続の場合】にAndroid 6.0.1、7.0 を追加。
・

第３章

第１節

表３-１の【Android 単体で利用する場合】に Android 6.0.1、7.0 を追加。
・

第５章

第１節

表５-３のリザルトコード：21 の意味を修正。
Android SDK(26)対応に伴い、以下を修正。
・
1.2 版

平成 30 年 8 月 31 日

第３章

第１節

表３-１の【PC 接続の場合】にAndroid 8.0 を追加。
・

第３章

第１節

表３-１の【Android 単体で利用する場合】に Android 8.0 を追加。
新元号対応に伴い、以下を修正。
・

第３章

第１節

JPKI 利用者ソフトのバージョンを

1.1 に変更。
・

第３章

第２節

JPKI 利用者ソフトのバージョンを

1.1 に変更。
1.3 版

令和元年 5 月 1 日

・

第６章

第１１節

※2 生年月日の設定ルールに新元号を追加。
・

その他、記載の見直しを実施。

旧氏対応に伴い、以下を修正。
・第５章第２節に旧氏に関する記述を追加。

・

第６章

第２節

加。

表６-２に旧氏に関する記述を追

版数

変更日付

変更内容
MacOS 版における住基カードサポート廃止に伴い、以下を修正。
・第２章 ドキュメント体系「API 仕様書

Mac OS X

C 言語インターフェース編」を削除。
ブラウザ対応版、iOS 版のリリースに伴い、以下を修正。
・1.4 版

令和 2 年 3 月 31 日

第２章

ドキュメント体系 「利用者クライアント

ソフト 機能概要説明書 ブラウザ対応編」を追加。
・

第２章

ドキュメント体系 「API 仕様書 カード AP

ライブラリ ブラウザインターフェース編」を追加。
・

第２章

ドキュメント体系 「利用者クライアント

ソフト 機能概要説明書(iOS 版)」を追加。
・

第２章

ドキュメント体系「API 仕様書 iOS

Framework 編」を追加。
・

第３章

第１節

動作環境に Android9.0、10.0 を追加。
ブラウザ対応版(Android)のリリースに伴い、以下を修正
・第２章
1.5 版

令和 3 年 3 月 31 日

ドキュメント体系 「利用者クライアントソ

フト 機能概要説明書(Android 版) ブラウザ対応編」を
追加。
・第２章

ドキュメント体系 「API 仕様書 Android イ

ンテント ブラウザインターフェース編」を追加。
Android SDK31 対応に伴い、以下を修正
・第３章

第１節

Android 端末

JPKI 利用者ソフトのバージョンを 2.0.2 に変更
1.5.1 版

令和 5 年 1 月 31 日

・第３章

第１節

Android 端末

OS から Android4.3、5.1、6.0.1 を削除し、Android11.0、12.0 を追加
・第３章

第２節

前提条件

JPKI 利用者ソフトのバー

ジョンを 2.0.2 に変更
利用者同意状況確認機能追加に伴い、以下を修正
・第１章

第 1 節 用語の定義の説明文を変更

・第３章

第１節

JPKI 利用者ソフトのバージョンを

2.1 に変更。
1.6 版

令和 5 年 3 月 31 日

・第３章

第１節

表３-１

Android 7.0 を削除。

・第６章

第９節

パスワード入力画面の画面文言を修

第１０節

ＩＣカードセット案内画面の画面

正
・第６章

文言を修正

版数

変更日付

1.6.2 版

令和 5 年 3 月 31 日

変更内容
以下を修正
・第３章

動作環境の記載を修正

Android SDK34 対応に伴い、以下を修正
・第２章

ドキュメント体系

図２−３ ドキュメント体

系図(iOS 版)に API 仕様書 iOS XCFramework 編を追加
・第３章
1.7 版

令和 6 年 7 月 31 日

第１節

Android 端末

JPKI 利用者ソフトのバージョンを 2.2 に変更
・第３章

第１節

Android 端末 OS 条件に Android13.0、

14.0 を追加
・第３章

第２節

前提条件

JPKI 利用者ソフトのバー

ジョンを 2.2 に変更
・巻末

注意事項欄の商標表記を Google LLC に変更

API 仕様書【Android インテント編】第 1.7 版
−

目次

−

第１章 はじめに ......................................................... １１
第１節 用語の定義 ............................................................................................................ ２

第２章 ドキュメント体系 ................................................. ３３
第３章 動作環境 ......................................................... ５５
第１節 Android 端末..................................................................................................... ５５
第２節 前提条件 ............................................................................................................ ６６

第４章 機能仕様 ......................................................... ７７
第１節 ソフトウェア構成図 .......................................................................................... ７７
第２節 実現可能な機能の一覧 ...................................................................................... ８８

第５章 インテント仕様 ................................................... ９９
第１節 インテントインターフェースの概念図 ............................................................ ９９１ 送信データ ..................................................................................................... １０１０
２ 受信データ ..................................................................................................... １１１１
第２節 拡張データに格納する項目一覧 ................................................................ １３１３
１ 初期化処理(カード AP ライブラリ、個人認証サービス AP 共通) ............... １３１３
２ 終了処理(カード AP ライブラリ、個人認証サービス AP 共通) ................... １４１４
３ カード AP ライブラリ(署名用の場合) ........................................................... １５１５
４ カード AP ライブラリ(利用者証明用の場合) ................................................ ２１２１
５ 個人認証サービス AP(署名用、利用者証明用共通) ...................................... ２５２５
第３節 コーリングシーケンス ............................................................................... ３２３２
１ 初期処理......................................................................................................... ３２３２
２ 終了処理......................................................................................................... ３４３４
３ カード AP ライブラリ(署名用の場合) ........................................................... ３６３６
４ カード AP ライブラリ(利用者証明用の場合) ................................................ ４６４６
５ 個人認証サービス AP(署名用、利用者証明用共通) ...................................... ５２５２

第６章 画面仕様 ..................................................... ６０６０
第１節 画面一覧 ..................................................................................................... ６０６０
第２節 署名用電子証明書基本画面 ........................................................................ ６２６２
第３節 利用者証明用電子証明書基本画面 ............................................................. ６５６５
第４節 認証局の自己署名証明書基本画面 ............................................................. ６８６８
第５節 その他の電子証明書基本画面 .................................................................... ７１７１
第６節 詳細画面 ..................................................................................................... ７４７４
第７節 官職証明書・職責証明書検証画面 ............................................................. ８０８０
第８節 利用者証明書有効性確認画面 .................................................................... ８３８３
第９節 パスワード入力画面 ................................................................................... ８７８７
第１０節 IC カードセット案内画面 ...................................................................... ８９８９
第１１節 設定ルール一覧 ...................................................................................... ９０９０iAPI 仕様書【Android インテント編】第 1.7 版

第１章
はじめに
公的個人認証サービス利用者クライアントソフト(以下、JPKI 利用者ソフト)は、以下の機能を実現するためのインテントインターフェースを提供する。


証明書取得機能

電子署名生成機能

電子署名検証機能



証明書表示機能

基本 4 情報取得機能



官職証明書検証機能



自分の電子証明書の有効性確認機能IC カード種別取得機能

以降、本書では Android 版 JPKI 利用者ソフトのインテントインターフェースの仕様について
説明する。

１

API 仕様書【Android インテント編】第 1.7 版

第１節

用語の定義

表 １-１用語の定義
#

用語・略号

1

IC カード説明
以下のカードを指す総称
・個人番号カード2

電子証明書

公開鍵及び発行対象を識別する情報を含むデータに、認証局が発行対象の正当性を保証する電子署名を付与し、発行されるデータを示す。
データは、ISO/IEC 8825-1 の識別符号化規則により符号化された形式で利用される。

3

証明書

電子証明書と同義

4

利用者証明書 公的個人認証サービスで発行した利用者の証明書
具体的には以下の電子証明書を示す。
・個人番号カードに格納された署名用電子証明書
・個人番号カードに格納された利用者証明用電子証明書
・移動端末設備に格納された署名用電子証明書
・移動端末設備に格納された利用者証明用電子証明書

5

認証局の自己 自認証局の公開鍵に対して、自認証局の秘密鍵で署名した証明書。
署名証明書

本書では以下の電子証明書を示す。
・個人番号カードに格納された署名用認証局の自己署名証明書
・個人番号カードに格納された利用者証明用認証局の自己署名証明書
・移動端末設備に格納された署名用認証局の自己署名証明書
・移動端末設備に格納された利用者証明用認証局の自己署名証明書

6

NFC

Near Field Communication(近距離無線通信)の略。

7

インテント

Android の機能の一つ。アプリケーション間やアプリケーション内の機能間において、情報を連携するための機能。

２

API 仕様書【Android インテント編】第 1.7 版

第２章
ドキュメント体系
JPKI 利用者ソフトのドキュメント体系図を以下に示す。本書は以下の体系図の網掛け部分に該当する。

図 ２-１ ドキュメント体系図(PC 版)

３

API 仕様書【Android インテント編】第 1.7 版

図 ２-１２ ドキュメント体系図(Android 版)

図 ２-２３ ドキュメント体系図(iOS 版)

４

API 仕様書【Android インテント編】第 1.7 版

第３章
第１節

動作環境
Android 端末

Android 版 JPKI 利用者ソフト Ver2.2 の動作環境は以下の通りとする。

表 ３-１ 動作環境項目

条件
下記の Android のいずれかを搭載していること。

OS・8.0、9.0、10.0、11.0、12.0、13.0、14.0

NFC

以下の条件を満たす Android 端末とする。(「個人番号カード対応適合性検証済み Android 端末一覧」※1 を参照のこと。)
・ISO/IEC 14443 Type B に対応している NFC を搭載していること。

IC カード

個人番号カードであること。(住基カードは対象外)※1 最新の「個人番号カード対応適合性検証済み Android 端末一覧」の情報は、JPKI ポータルサ
イトに掲載するものとする。
また、最新の「個人番号カード対応適合性検証済み Android 端末」以外を使用した場合の不具合等に関するお問い合わせは、サポート対象外とする。
表示画面については以下の通りとする。

表 ３-２ 表示画面
項目

仕様

解像度

フル HD または HD

画面比

16:9

画面の向き

縦画面固定とする。

Android 版 JPKI 利用者ソフトにおける Android 端末のボタン操作について以下の通りとする。

表 ３-３ ボタン操作
ボタン名

動作

ホームボタン

使用しない。

履歴ボタン

使用しない。

戻るボタン

1 つ前の画面に戻る。

５

API 仕様書【Android インテント編】第 1.7 版

第２節

前提条件

Android 版 JPKI 利用者ソフト Ver2.2 の前提条件は以下の通りとする。

表 ３-４ 前提条件
前提条件
Android 版 JPKI 利用者ソフトで設定、登録した情報は機種変更等による Android 端末間の移行には対応しない。
Android のマルチユーザ機能には対応しない。

６

API 仕様書【Android インテント編】第 1.7 版

第４章
第１節

機能仕様
ソフトウェア構成図

本仕様書では、Android 版 JPKI 利用者ソフトのうち、下図の太枠に示すインテントインター
フェースの仕様をまとめる。

図 ４-１ ソフトウェア構成図
上位アプリケーション

JPKI 利用者ソフト

インテント I/F

カード AP ライブラリ/個人認証サービス AP
インテント I/F
カード AP ライブラリ
カード I/Fカードコマンド

NFC
証明書
検証要求

カードコマンド

官職証明書検証サービス

公的個人認証サービスカードアプリケーション

７

オンライン窓口
処理要求

オンライン窓口
サービス

API 仕様書【Android インテント編】第 1.7 版

第２節

実現可能な機能の一覧

インテントで実現可能な機能の一覧を以下に示す。

表 ４-１ 実現可能な機能の一覧
NO

カテゴリ

1

カード AP ライブ

機能

概要

証明書取得

IC カードに格納された電子証明書(利用者証

ラリ2

明書、認証局の自己署名証明書)を取得する。
署名生成

署名対象データからハッシュ値を計算し、ICカードに格納された利用者秘密鍵を使用して電子署名を生成する。

3

署名検証

検証対象データからハッシュ値を計算し、ハッシュ値、電子署名、公開鍵を使用して電子署名を検証する。

45

個人認証サービ
ス AP

証明書表示

電子証明書を表示する。

基本 4 情報取得

署名用電子証明書から基本 4 情報(氏名、住所、性別、生年月日)を取得する。

6

官職証明書検証

官職証明書や職責証明書の証明書検証を行う
ため、公的個人認証サービスの官職証明書検証サービスに対して証明書検証要求を発行する。

7

自分の電子証明書のIC カード内の自分の電子証明書(利用者証明

有効性確認書)の有効性を確認するために、公的個人認証
サービスのオンライン窓口サービスに対して有効性確認要求を発行する。

8

IC カード種別取得

端末にセットされている IC カードの種別を取得する。

８

API 仕様書【Android インテント編】第 1.7 版

第５章
第１節

インテント仕様
インテントインターフェースの概念図

インテントを使用したデータの流れを以下に示す。

上位アプリケーション①初期処理
送信開始処理送信処理②送信Android 版 JPKI 利用者ソフト
③受信

受信処理
送信終了処理④終了処理

図 ５-１ インテントインターフェースの概念図

９API 仕様書【Android インテント編】第 1.7 版

１ 送信データ
図 ５-１図 ５-１において送信するデータについての仕様を以下にまとめる。
上位アプリケーションにおいて startActivityForResult( Intent intent, int
requestCode )関数を実行して Android 版 JPKI 利用者ソフトに送信するデータを以下に示す。
表 ５-１ 送信データ
引数名
intent項目

説明

intent の動作の指定

Intent.ACTION̲SEND を設定すること。

JPKI 利用者ソフトの以下のように設定すること。

パッケージ名とクラ

intent.setClassName(

ス名の設定<JPKI 利用者ソフトのパッケージ名(※)>,“jp.go.jpki.mobile.intent.JPKIIntentActivity”);※JPKI 利用者ソフトのパッケージ名には以下の値を使用すること。
一般利用者向け：“jp.go.jpki.mobile.utility”
署名検証者向け：“jp.go.jpki.mobile.utility.dev”

拡張データ

intent.putExtra で設定するデータ。
設定項目については第５章

第２節を参照すること。
requestCode

リクエストコード

遷移元に戻った際に onActivityResult の引数となる。
数値は上位アプリケーション側で任意の値を設定する
こと。

１０

API 仕様書【Android インテント編】第 1.7 版

２ 受信データ
図 ５-１図 ５-１において受信するデータについての仕様を以下にまとめる。
上位アプリケーションにおいて onActivityResult( int requestCode, int resultCode,Intent data )で Android 版 JPKI 利用者ソフトから受け取るデータを以下に示す。
表 ５-２ 受信データ
引数名

項目

説明

requestCode

リクエストコード

送信時に指定したリクエストコードが設定される。

resultCode

リザルトコード

コマンド実行結果が格納される。
値については表 ５-３表 ５-３を参照すること。

data

拡張データ

intent.putExtra で設定するデータ。
設定項目については第５章

第２節を参照すること。

表 ５-３ リザルトコード一覧
値

意味

0

正常に処理された。

1

実行途中でユーザーがキャンセル操作を行った。

2

指定されたコマンドタイプが存在しない。

3

指定されたコマンドに必要な送信データが不足している。

4

Android 版 JPKI 利用者ソフトで予期しないエラーが発生した。

5

引数に不正なデータを渡した。

6

不正なハッシュハンドルを指定した。

7

ハッシュは既に完了しているためデータを追加できない。

8

不正な鍵ハンドルを指定している。

9

不正なプロバイダハンドルを指定している。

10

不正な鍵情報を指定している。

11

OCSP Request および拡張情報の生成に失敗した。

12

証明書検証サーバの URL が正しくない。

13

証明書(利用者証明書または認証局の自己署名証明書)の取得に失敗した。

14

HTTP または HTTPS 通信で失敗した。

15

証明書検証結果の解析に失敗した。

16

CVS 証明書の有効性検証に失敗した。

17

OCSP Response(ASN.1 エンコード形式)のデコードに失敗した。

18

Request 送信時に付与した nonce と Response に含まれる nonce が一致しない。

19

OCSP レスポンダから受信した OCSP Response(ASN.1 エンコード形式)の署名検証

１１

API 仕様書【Android インテント編】第 1.7 版
値

意味に失敗した。

20

電子証明書(DER 形式)の解析に失敗した。

21

NFC が無効もしくは、IC カード情報の取得に失敗した（IC カード未挿入等）。

22

IC カードが個人番号カードではないため処理に失敗した。

23

パスワード入力画面でエラーが起こった。

24

IC カードセット案内画面でエラーが起こった。

25

電子証明書表示画面でエラーが起こった。

１２

API 仕様書【Android インテント編】第 1.7 版

第２節

拡張データに格納する項目一覧

拡張データに格納する項目を以下に示す。
１ 初期化処理(カード AP ライブラリ、個人認証サービス AP 共通)
項目名

初期化処理

概要

最初に必ず実行しなければならない処理
キー

型

値

内容

command̲type

int

0x01004001

コマンドタイプ

受信デー

command̲type

int

0x01004001

コマンドタイプタ

resultboolean

送信デー
タ―

初期化処理が成功の場合はtrue、失敗した場合は false

err̲codeint―

エラーコード(4 桁)
例外が発生した箇所のエラーコードの値が格納される。
正常系の場合は「0000」が格納される。

detail̲codeint―

エラー詳細コード(8 桁)例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格納される。

備考

特に無し。

１３

API 仕様書【Android インテント編】第 1.7 版

２ 終了処理(カード AP ライブラリ、個人認証サービス AP 共通)
項目名

終了処理

概要

終了時に必ず実行しなければならない処理
キー

型

値

内容

command̲type

int

0x01004002

コマンドタイプ

受信デー

command̲type

int

0x01004002

コマンドタイプタ

resultboolean

送信デー
タ―

終了処理が成功の場合は true、
失敗した場合は false

err̲codeint―

エラーコード(4 桁)
例外が発生した箇所のエラーコードの値が格納される。
正常系の場合は「0000」が格納される。

detail̲codeint―

エラー詳細コード(8 桁)例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格納される。

備考

特に無し。

１４

API 仕様書【Android インテント編】第 1.7 版

３ カード AP ライブラリ(署名用の場合)（１） 署名用認証局の自己署名証明書取得処理
項目名

署名用認証局の自己署名証明書取得処理

概要

署名用認証局の自己署名証明書(DER 形式)を取得
キー

型

値

内容

command̲type

int

0x01002001

コマンドタイプ

受信デー

command̲type

int

0x01002001

コマンドタイプタ

ca̲certbyte[]

送信デー
タ―

署名用認証局の自己署名証明書(DER 形式)

err̲codeint―

エラーコード(4 桁)
例外が発生した箇所のエラーコードの値が格納される。
正常系の場合は「0000」が格納される。

detail̲codeint―

エラー詳細コード(8 桁)例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格納される。

備考

処理の流れは以下となる。
・IC カードに接続されていない場合は、IC カードセット案内画面へ画面遷移する。

・IC カードから署名用認証局の自己署名証明書を取得する。

・

上位アプリケーションに署名用認証局の自己署名証明書を返す。

（２） 署名用電子証明書取得処理
項目名

署名用電子証明書取得処理

概要

秘密鍵に対応する署名用電子証明書(DER 形式)を取得
キー

型

値

内容

command̲type

int

0x01002002

コマンドタイプ

受信デー

command̲type

int

0x01002002

コマンドタイプタ

p̲certbyte[]

送信デー
タ―

秘密鍵に対応する署名用電子証明書(DER 形式)

err̲codeint―

エラーコード(4 桁)
例外が発生した箇所のエラーコード

１５

API 仕様書【Android インテント編】第 1.7 版の値が格納される。
正常系の場合は「0000」が格納される。
detail̲codeint―

エラー詳細コード(8 桁)例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格
納される。

備考

処理の流れは以下となる。
・IC カードに接続されていない場合は、IC カードセット案内画面へ画面遷移する。

・IC カードから秘密鍵に対応する署名用電子証明書を取得する。

・

上位アプリケーションに秘密鍵に対応する署名用電子証明書を返す。

（３） 署名生成処理（署名対象データを渡す場合）
項目名

署名生成処理（署名対象データを渡す場合）

概要

署名対象データからハッシュ値を計算し、IC カードに格納された利用者秘密鍵を使用して署名値を生成
キー

型

値

内容

送信デー

command̲type

int

0x01002003

コマンドタイプタ

messagebyte[]―

署名対象データ

alg̲idint―

ハッシュアルゴリズムの指定
SHA1:0
SHA256:1

受信デー

command̲type

int

0x01002003

コマンドタイプタ

signaturebyte[]―

署名値

err̲codeint―

エラーコード(4 桁)
例外が発生した箇所のエラーコードの値が格納される。
正常系の場合は「0000」が格納される。

detail̲codeint―

エラー詳細コード(8 桁)例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格
納される。

１６

API 仕様書【Android インテント編】第 1.7 版
備考

処理の流れは以下となる。
・IC カードに接続されていない場合は、IC カードセット案内画面へ画面遷移する。

・

署名対象データからハッシュ値を計算し、OID を付与し、IC カードに格納された利用者秘密鍵を使用して署名値を生成する。

・

上位アプリケーションに署名値を返す。

ハッシュ値への OID 付与は以下のバイナリ形式で行う。
・

ハッシュアルゴリズムが SHA1 の場合(データサイズは 35Byte)

0x30, 0x21,
0x30, 0x09,
0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00,
0x04, 0x14,
SHA1 ハッシュ値(20Byte)・

ハッシュアルゴリズムが SHA256 の場合(データサイズは 51Byte)

0x30, 0x31,
0x30, 0x0d,
0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
0x00,
0x04, 0x20,
SHA256 ハッシュ値(32Byte)（４） 署名生成処理（ダイジェスト［ハッシュ値］を入力する場合）
項目名

署名生成処理（ダイジェスト［ハッシュ値］を入力する場合）

概要

ハッシュ値に対して、IC カードに格納された利用者秘密鍵を使用して署名値を
生成
キー

型

値

内容

送信デー

command̲type

int

0x01002004

コマンドタイプタ

hashbyte[]―

ダイジェスト（ハッシュ値）

alg̲idint―

ハッシュアルゴリズムの指定
SHA1:0
SHA256:1

受信デー

command̲type

int

0x01002004

コマンドタイプタ

signaturebyte[]―

署名値

err̲codeint―

エラーコード(4 桁)
例外が発生した箇所のエラーコードの値が格納される。
正常系の場合は「0000」が格納される。

detail̲code

int

―
１７

エラー詳細コード(8 桁)API 仕様書【Android インテント編】第 1.7 版
例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格
納される。
備考

処理の流れは以下となる。
・IC カードに接続されていない場合は、IC カードセット案内画面へ画面遷移する。

・

ハッシュ値に対して、IC カードに格納された利用者秘密鍵を使用して署名値を生成する。

・

上位アプリケーションに署名値を返す。

ハッシュ値への OID 付与に関する注意事項は以下の通り。
・

署名値生成の際、ダイジェスト（ハッシュ値）に OID は付与しない。

・

OID を付与したハッシュ値の署名値を生成する場合は、上位アプリケーシ
ョンにてダイジェスト（ハッシュ値）に OID を付与したデータを入力する
こと。
（第５章

第２節 ３（３）備考「ハッシュ値への OID 付与」を参照のこと）（５） 署名検証処理(検証対象データを渡す場合)
項目名

署名検証処理(検証対象データを渡す場合)

概要

検証対象データからハッシュ値を計算し、ハッシュ値、署名値、公開鍵を使用して、署名値を検証
キー

型

値

内容

送信デー

command̲type

int

0x01002005

コマンドタイプタ

certificate

byte[]―

証明書データ(DER 形式)

messagebyte[]―

検証対象データ

signaturebyte[]―

署名値

alg̲idint―

ハッシュアルゴリズムの指定
SHA1:0
SHA256:1

受信デー

command̲type

int

0x01002005

コマンドタイプタ

verifyrec

int―

署名値の検証結果
検証成功:0
検証失敗:-1

err̲codeint―

エラーコード(4 桁)
例外が発生した箇所のエラーコードの値が格納される。
正常系の場合は「0000」が格納される。

１８

API 仕様書【Android インテント編】第 1.7 版
detail̲codeint―

エラー詳細コード(8 桁)例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格
納される。

備考

処理の流れは以下となる。
・

検証対象データからハッシュ値を計算し、OID を付与した値、署名値、公開鍵を使用して、署名値を検証する。

・

上位アプリケーションに検証結果を返す。

署名値に関する注意事項は以下の通り。
・

上位アプリケーションは OID を付与したハッシュ値から生成された署名値を入力すること。（第５章

第２節

３（３）備考「ハッシュ値への OID付与」を参照のこと）（６） 署名検証処理（ダイジェスト［ハッシュ値］を入力する場合）
項目名

署名検証処理（ダイジェスト［ハッシュ値］を入力する場合）

概要

ハッシュ値、署名値、公開鍵を使用して、署名値を検証
キー

型

値

内容

送信デー

command̲type

int

0x01002006

コマンドタイプタ

certificate

byte[]―

証明書データ(DER 形式)

hashbyte[]―

ダイジェストデータ

signaturebyte[]―

署名値

alg̲idint―

ハッシュアルゴリズムの指定
SHA1:0
SHA256:1

受信デー

command̲type

int

0x01002006

コマンドタイプタ

verifyrec

int―

署名値の検証結果
検証成功:0
検証失敗:-1

err̲codeint―

エラーコード(4 桁)
例外が発生した箇所のエラーコードの値が格納される。
正常系の場合は「0000」が格納される。

detail̲codeint―

エラー詳細コード(8 桁)例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格１９

API 仕様書【Android インテント編】第 1.7 版
納される。
備考

処理の流れは以下となる。
・

ハッシュ値、署名値、公開鍵を使用して、署名値を検証する。

・

上位アプリケーションに検証結果を返す。

ダイジェストデータと署名値に関する注意事項は以下の通り。
・OID を付与したハッシュ値から生成された署名値を検証する場合、上位ア
プリケーションにてダイジェストデータに OID を付与したデータを入力すること。（第５章

第２節

３（３）備考「ハッシュ値への OID 付与」を参照のこと）
・OID を付与していないハッシュ値から生成された署名値を検証する場合、上位アプリケーションにてダイジェストデータに OID を付与していないデータを入力すること。
ダイジェストデータ
署名値

OID ありOID なしOID ありOKNG

OID なしNG

OK

２０

API 仕様書【Android インテント編】第 1.7 版

４ カード AP ライブラリ(利用者証明用の場合)（１） 利用者証明用認証局の自己署名証明書取得処理
項目名

利用者証明用認証局の自己署名証明書取得処理

概要

利用者証明用認証局の自己署名証明書(DER 形式)を取得
キー

型

値

内容

command̲type

int

0x01001001

コマンドタイプ

受信デー

command̲type

int

0x01001001

コマンドタイプタ

ca̲certbyte[]

送信デー
タ―

利用者証明用認証局の自己署名証明書(DER 形式)

err̲codeint―

エラーコード(4 桁)
例外が発生した箇所のエラーコードの値が格納される。
正常系の場合は「0000」が格納される。

detail̲codeint―

エラー詳細コード(8 桁)例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格納される。

備考

処理の流れは以下となる。
・IC カードに接続されていない場合は、IC カードセット案内画面へ画面遷移する。

・IC カードから利用者証明用認証局の自己署名証明書を取得する。

・

上位アプリケーションに利用者証明用認証局の自己署名証明書を返す。

（２） 利用者証明用電子証明書取得処理
項目名

利用者証明用電子証明書取得処理

概要

秘密鍵に対応する利用者証明用電子証明書(DER 形式)を取得
キー

型

値

内容

command̲type

int

0x01001002

コマンドタイプ

受信デー

command̲type

int

0x01001002

コマンドタイプタ

p̲certbyte[]

送信デー
タ―

秘密鍵に対応する利用者証明
用電子証明書(DER 形式)

err̲codeint―

エラーコード(4 桁)
例外が発生した箇所のエラーコ

２１

API 仕様書【Android インテント編】第 1.7 版
ードの値が格納される。
正常系の場合は「0000」が格納される。
detail̲codeint―

エラー詳細コード(8 桁)例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格納される。

備考

処理の流れは以下となる。
・IC カードに接続されていない場合は、IC カードセット案内画面へ画面遷移する。

・IC カードから秘密鍵に対応する利用者証明用電子証明書を取得する。

・

上位アプリケーションに秘密鍵に対応する利用者証明用電子証明書を返す。

（３） 署名生成処理（署名対象データを渡す場合）
項目名

署名生成処理（署名対象データを渡す場合）

概要

署名対象データからハッシュ値を計算し、IC カードに格納された利用者秘密鍵を使用して署名値を生成
キー

型

値

内容

送信デー

command̲type

int

0x01001003

コマンドタイプタ

messagebyte[]―

署名対象データ

alg̲idint―

ハッシュアルゴリズムの指定
SHA1:0
SHA256:1

受信デー

command̲type

int

0x01001003

コマンドタイプタ

signaturebyte[]―

署名値

err̲codeint―

エラーコード(4 桁)
例外が発生した箇所のエラーコードの値が格納される。
正常系の場合は「0000」が格納される。

detail̲codeint―

エラー詳細コード(8 桁)例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格納される。

備考

処理の流れは以下となる。
・IC カードに接続されていない場合は、IC カードセット案内画面へ画面遷

２２

API 仕様書【Android インテント編】第 1.7 版移する。
・

署名対象データからハッシュ値を計算し、OID を付与し、IC カードに格納された利用者秘密鍵を使用して署名値を生成する。

・

上位アプリケーションに署名値を返す。

ハッシュ値への OID 付与は以下のバイナリ形式で行う。
・

第５章

第２節

３（３）備考「ハッシュ値への OID 付与」を参照のこと。
（４） 署名生成処理（ダイジェスト［ハッシュ値］を入力する場合）
項目名

署名生成処理（ダイジェスト［ハッシュ値］を入力する場合）

概要

ハッシュ値に対して、IC カードに格納された利用者秘密鍵を使用して署名値を
生成
キー

型

値

内容

送信デー

command̲type

int

0x01001004

コマンドタイプタ

hashbyte[]―

ダイジェスト（ハッシュ値）

alg̲idint―

ハッシュアルゴリズムの指定
SHA1:0
SHA256:1

受信デー

command̲type

int

0x01001004

コマンドタイプタ

signaturebyte[]―

署名値

err̲codeint―

エラーコード(4 桁)
例外が発生した箇所のエラーコードの値が格納される。
正常系の場合は「0000」が格納される。

detail̲codeint―

エラー詳細コード(8 桁)例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格納される。

備考

処理の流れは以下となる。
・IC カードに接続されていない場合は、IC カードセット案内画面へ画面遷移する。

・

ハッシュ値に対して、IC カードに格納された利用者秘密鍵を使用して署名値を生成する。

・

上位アプリケーションに署名値を返す。

ハッシュ値への OID 付与に関する注意事項は以下の通り。

２３

API 仕様書【Android インテント編】第 1.7 版
・

署名値生成の際、ダイジェスト（ハッシュ値）に OID は付与しない。

・

OID を付与したハッシュ値の署名値を生成する場合は、上位アプリケーシ
ョンにてダイジェスト（ハッシュ値）に OID を付与したデータを入力する
こと。
（第５章

第２節 ３（３）備考「ハッシュ値への OID 付与」を参照のこと）（５） 署名検証処理(検証対象データを渡す場合)
「第５章

第２節

３（５）)」を参照。

（６） 署名検証処理（ダイジェスト［ハッシュ値］を入力する場合）
「第５章

第２節

３（６）署名検証処理（ダイジェスト［ハッシュ値］を入力する場合）」を参照。

２４

API 仕様書【Android インテント編】第 1.7 版

５ 個人認証サービス AP(署名用、利用者証明用共通)（１） 証明書表示
項目名

証明書表示

概要

電子証明書を表示
キー

型

値

内容

送信デー

command̲type

int

0x01003001

コマンドタイプタ

cert

byte[]

受信デー

command̲type

int

0x01003001

タ

err̲code

int

―

―

証明書データ(DER 形式)
コマンドタイプ
エラーコード(4 桁)
例外が発生した箇所のエラー
コードの値が格納される。
正常系の場合は「0000」が格納される。

detail̲codeint―

エラー詳細コード(8 桁)例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格納される。

備考

処理の流れは以下となる。
・

電子証明書表示画面へ画面遷移する。

・

電子証明書表示画面で証明書データの内容を表示する。

（２） 基本 4 情報取得
項目名

基本 4 情報取得概要

署名用電子証明書から基本 4 情報(氏名、住所、性別、生年月日)を取得
キー

型

値

内容

送信デー

command̲type

int

0x01003002

コマンドタイプタ

cert

byte[]

受信デー

command̲type

int

タ

address

String―住所date̲of̲birth

String―

生年月日―
0x01003002

証明書データ(DER 形式)
コマンドタイプ

(第６章

第１１節

設定ル

ール一覧参照)genderString

―

性別
(第６章

第１１節

ール一覧参照)２５

設定ル

API 仕様書【Android インテント編】第 1.7 版
nameString―

氏名(大括弧「［ ］」内は旧氏を示す。括弧「（ ）」内は通称を示す。)

substitute̲characte

String―r̲of̲address

住所の代替文字
(第６章

第１１節

設定ル

ール一覧参照)substitute̲characte

String―r̲of̲name

氏名の代替文字
(第６章

第１１節

設定ル

ール一覧)
err̲codeint―

エラーコード(4 桁)
例外が発生した箇所のエラー
コードの値が格納される。
正常系の場合は「0000」が格納される。

detail̲codeint―

エラー詳細コード(8 桁)例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格納される。

備考

処理の流れは以下となる。
・

証明書データから基本 4 情報を取得する。

・

上位アプリケーションに基本 4 情報を返す。

（３） 官職証明書検証
項目名

官職証明書検証

概要

官職証明書や職責証明書の証明書検証を行うため、公的個人認証サービスの官職証明書検証サービスに対して証明書検証要求を発行
キー

型

値

内容

送信デー

command̲type

int

0x01003003

コマンドタイプタ

cert

byte[]

受信デー

command̲type

int

0x01003003

タ

cert̲status

int

―

―

証明書データ(DER 形式)
コマンドタイプ
官職証明書検証機能で取得した証明書の検証結果コード(表 ５-４表 ５-４検証結果
コードの値一覧検証結果コードの値一覧参照)cert̲path̲statusint―

官職証明書検証機能で取得した認証パス検証結果コード２６

API 仕様書【Android インテント編】第 1.7 版(表 ５-５表 ５-５認証パス
検証結果コードの値一覧認証
パス検証結果コードの値一覧
参照)
response̲statusint―

官職証明書検証機能で取得した有効性検証結果コード(表 ５-６表 ５-６有効性検証結果コードの値一覧有効性
検証結果コードの値一覧参照)err̲codeint―

エラーコード(4 桁)
例外が発生した箇所のエラー
コードの値が格納される。
正常系の場合は「0000」が格納される。

detail̲codeint―

エラー詳細コード(8 桁)例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格納される。

備考

処理の流れは以下となる。
・IC カードに接続されていない場合は、IC カードセット案内画面へ画面遷移する。

・

官職証明書検証を行い、結果を取得する。

・

上位アプリケーションに結果を返す。

表 ５-４ 検証結果コードの値一覧
値

意味

0

検証成功。

-1

認証パスの構築および検証に失敗。

-8

有効性検証に失敗。

表 ５-５ 認証パス検証結果コードの値一覧
値

意味

0

認証パスの構築が成功し検証結果が正しい。

101

認証パス構築ができない。

202

認証パスに署名が不正である証明書が含まれる。

２７

API 仕様書【Android インテント編】第 1.7 版
値

意味

203

認証パスに失効した証明書が含まれる。

204

認証パスにポリシーが一致しない証明書が含まれる。

205

認証パスに制約に違反している証明書が含まれる。

301

証明書検証サーバ(CVS)側で検証対象証明書の受け付けを拒否した。

302

証明書検証サーバ(CVS)側で中間証明書または TA 証明書の受け付けを拒否した。

901

証明書検証サーバ(CVS)側で要求の受け付けを拒否した。

902

要求がタイムアウトとなった。

表 ５-６ 有効性検証結果コードの値一覧
値

意味

0

OCSP Request が正しく処理された。

1

OCSP Request のフォーマットエラー。

2

内部エラー。

3

一時的な回答不能。

5

OCSP Request への署名が必要。

6

クライアントが認証されていない。

（４） 自分の電子証明書の有効性確認
項目名

自分の電子証明書の有効性確認

概要

IC カード内の自分の電子証明書(利用者証明書)の有効性を確認するために、公的個人認証サービスのオンライン窓口サービスに対して有効性確認要求を発行
キー

型

値

内容

送信デー

command̲type

int

0x01003004

コマンドタイプタ

cert

byte[]

受信デー

command̲type

int

0x01003004

コマンドタイプ

タ

code

int

―

有効性確認結果―

証明書データ(DER 形式)(表 ５-７表 ５-７有効性確認結果一覧有効性確認結果一
覧参照)
exception

String―有効性確認中に発生した
Exception のメッセージ

confirm̲msg

String―

確認結果メッセージ

err̲codeint―

エラーコード(4 桁)
例外が発生した箇所のエラー
コードの値が格納される。

２８

API 仕様書【Android インテント編】第 1.7 版
正常系の場合は「0000」が格納される。
detail̲codeint―

エラー詳細コード(8 桁)例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格納される。

備考

処理の流れは以下となる。
・IC カードに接続されていない場合は、IC カードセット案内画面へ画面遷移する。

・

有効性確認を行い、結果を取得する。

・

上位アプリケーションに結果を返す。

表 ５-７ 有効性確認結果一覧
値

意味

200

有効性確認結果が有効である。

600

申請書の電子署名検証エラーが発生した。

601

オンライン窓口サーバで「申請情報取込エラー」が発生した。

602

オンライン窓口サーバで「対象とする証明書の有効期間切れエラー」が発
生した。

603

オンライン窓口サーバで「受信データ形式エラー」が発生した。

604

オンライン窓口サーバで「対象とする証明書の認証局の電子署名検証エラー」が発生した。

605

オンライン窓口サーバで「対象とする証明書の有効性確認エラー」が発生
した。

606

オンライン窓口サーバで「対象とする証明書のオンライン窓口エラー（OCSP）」が発生した。

607

対象とする証明書の失効済である。

608

対象とする証明書が失効申請済みである。（二重申請エラー／既オンライン
失効申請エラー）。

609

オンライン窓口サーバで「オンライン窓口エラー（DB）」が発生した。

611

オンライン窓口サーバが混雑している。

612

オンライン窓口でエラーが発生した（コードなし）。

613

対象とする証明書の一時保留状態である。

622

オンライン窓口サーバで「対象とする証明書と署名実施証明書の不一致エラー」が発生した。

700

ログインのキャンセル。

701

メモリ不足が発生した。
２９

API 仕様書【Android インテント編】第 1.7 版
値

意味

702

予期せぬエラーが発生した。

703

IC カードがロックされている。

704

IC カードに接続できない。

705

対象とする証明書の解析に失敗。

706

サーバ時刻の取得に失敗。

707

オンライン窓口サーバへのアクセスに失敗。

708

対象とする証明書の有効期間切れ。

709

対象とする証明書の有効期間開始の日付が未来の日時。

100〜500

HTTP1.1 ステータスコード(100〜500 番台)。

(200 を除く)（５） IC カード種別取得
項目名

IC カード種別取得

概要

セットされている IC カードの種別を取得
キー

型

値

内容

command̲type

int

0x01003005

コマンドタイプ

受信デー

command̲type

int

0x01003005

コマンドタイプ

タ

id

int

―

IC カード種別

送信デー
タ(表 ５-８表 ５-８IC カード種
別一覧 IC カード種別一覧参
照)
token

String―

IC カード token 情報

err̲codeint―

エラーコード(4 桁)
例外が発生した箇所のエラーコードの値が格納される。
正常系の場合は「0000」が格納される。

detail̲codeint―

エラー詳細コード(8 桁)例外が発生した箇所の詳細コードの値が格納される。
正常系の場合は「00000000」が格納される。

備考

処理の流れは以下となる。
・IC カードに接続されていない場合は、IC カードセット案内画面へ画面遷移する。

・IC カードにアクセスして IC カードの種別を取得する。

・

上位アプリケーションに結果を返す。

３０

API 仕様書【Android インテント編】第 1.7 版

表 ５-８ IC カード種別一覧
値

意味

0

IC カード種別の不明なカード

1

IC カード種別の住基カード

2

IC カード種別の個人番号カード

３１

API 仕様書【Android インテント編】第 1.7 版

第３節

コーリングシーケンス

以下のシーケンスは上位アプリケーション内での処理となる。
１ 初期処理Intent インスタンスの生引数

成・第一引数: Intent.ACTION̲SEND↓

intent.setClassName

JPKI 利用者ソフトのパッケージ名とクラス名の設定
引数
・第一引数: "jp.go.jpki.mobile.utility"
・第二引数: "jp.go.jpki.mobile.intent.JPKIIntentActivity"↓

intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01004001↓

startActivityForResult

Android 版 JPKI 利用者ソフトとのインテント開始処理
引数
・第一引数: intent
・第二引数: 任意のリクエストコード(int 型)↓

Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getBooleanExtra

結果を取得(boolean 型)
引数・第一引数: “result”
取得した値が false の場合は送信開始処理失敗↓

data.getIntExtra

エラーコードを取得(int 型)
引数・第一引数: “err̲code”
取得した値が 0000 の場合は正常に処理された

３２

API 仕様書【Android インテント編】第 1.7 版↓
data.getIntExtra

詳細コードを取得(int 型)
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された

３３

API 仕様書【Android インテント編】第 1.7 版

２ 終了処理Intent インスタンスの生引数

成・第一引数: Intent.ACTION̲SEND↓

intent.setClassName

JPKI 利用者ソフトのパッケージ名とクラス名の設定
引数
・第一引数: “jp.go.jpki.mobile.utility”
・第二引数:“jp.go.jpki.mobile.intent.JPKIIntentActivity”↓

intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01004002↓

startActivityForResult

Android 版 JPKI 利用者ソフトとのインテント開始処理
引数
・第一引数: intent
・第二引数: 任意のリクエストコード(int 型)↓

Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getBooleanExtra

結果を取得(boolean 型)
引数・第一引数: “result”
取得した値が false の場合は送信終了処理失敗↓

data.getIntExtra

エラーコードを取得(int 型)
引数・第一引数: “err̲code”
取得した値が 0000 の場合は正常に処理された↓

data.getIntExtra

詳細コードを取得(int 型)

３４

API 仕様書【Android インテント編】第 1.7 版
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された

３５

API 仕様書【Android インテント編】第 1.7 版

３ カード AP ライブラリ(署名用の場合)（１） 署名用認証局の自己署名証明書取得処理
初期処理

１初期処理初期処理参照↓

Intent インスタンスの生引数

成・第一引数: Intent.ACTION̲SEND↓

intent.setClassName

JPKI 利用者ソフトのパッケージ名とクラス名の設定
引数
・第一引数: “jp.go.jpki.mobile.utility”
・第二引数:“jp.go.jpki.mobile.intent.JPKIIntentActivity”↓

intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01002001↓

startActivityForResult

Android 版 JPKI 利用者ソフトの起動と intent 送信
引数
・第一引数: intent
・第二引数: 任意のリクエストコード(int 型)↓

Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getByteArrayExtra

署名用認証局の自己署名証明書(DER 形式)の取得
引数
・第一引数: “ca̲cert”↓

data.getIntExtra

エラーコードを取得(int 型)
引数・第一引数: “err̲code”
取得した値が 0000 の場合は正常に処理された

３６

API 仕様書【Android インテント編】第 1.7 版↓
data.getIntExtra

詳細コードを取得(int 型)
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された↓終了処理

２終了処理終了処理参照（２） 署名用電子証明書取得処理
初期処理

１初期処理初期処理参照↓

Intent インスタンスの生引数

成・第一引数: Intent.ACTION̲SEND↓

intent.setClassName

JPKI 利用者ソフトのパッケージ名とクラス名の設定
引数
・第一引数: “jp.go.jpki.mobile.utility”
・第二引数:“jp.go.jpki.mobile.intent.JPKIIntentActivity”↓

intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01002002↓

startActivityForResult

Android 版 JPKI 利用者ソフトの起動と intent 送信
引数
・第一引数: intent
・第二引数: 任意のリクエストコード(int 型)↓

Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getByteArrayExtra

秘密鍵に対応する利用者証明書(DER 形式)の取得
３７

API 仕様書【Android インテント編】第 1.7 版
引数・第一引数: “p̲cert”↓
data.getIntExtra

エラーコードを取得(int 型)
引数・第一引数: “err̲code”
取得した値が 0000 の場合は正常に処理された↓

data.getIntExtra

詳細コードを取得(int 型)
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された↓終了処理

２終了処理終了処理参照（３） 署名生成処理（署名対象データを渡す場合）
初期処理

１初期処理初期処理参照↓

Intent インスタンスの生引数

成・第一引数: Intent.ACTION̲SEND↓

intent.setClassName

JPKI 利用者ソフトのパッケージ名とクラス名の設定
引数
・第一引数: “jp.go.jpki.mobile.utility”
・第二引数:“jp.go.jpki.mobile.intent.JPKIIntentActivity”↓

intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01002003↓

intent.putExtra

拡張データの設定(署名対象データの設定)※(1),(2)で取得できるデータ
引数
・第一引数: “message”
・第二引数: byte[]型↓

intent.putExtra

拡張データの設定(ハッシュアルゴリズムの指定)
３８

API 仕様書【Android インテント編】第 1.7 版
引数・第一引数: “alg̲id”
・第二引数: int 型↓
startActivityForResult

Android 版 JPKI 利用者ソフトの起動と intent 送信
引数
・第一引数: intent
・第二引数: 任意のリクエストコード(int 型)↓

Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getByteArrayExtra

署名値の取得引数
・第一引数: “signature”↓

data.getIntExtra

エラーコードを取得(int 型)
引数・第一引数: “err̲code”
取得した値が 0000 の場合は正常に処理された↓

data.getIntExtra

詳細コードを取得(int 型)
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された↓終了処理

２終了処理終了処理参照（４） 署名生成処理（ダイジェスト［ハッシュ値］を入力する場合）
初期処理

１初期処理初期処理参照↓

Intent インスタンスの生引数

成

第一引数: Intent.ACTION̲SEND↓

intent.setClassName

JPKI 利用者ソフトのパッケージ名とクラス名の設定
３９

API 仕様書【Android インテント編】第 1.7 版
引数・第一引数: “jp.go.jpki.mobile.utility”
・第二引数:“jp.go.jpki.mobile.intent.JPKIIntentActivity”↓
intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01002004↓

intent.putExtra

拡張データの設定(ダイジェスト（ハッシュ値）の設定)
引数
・第一引数: “hash”
・第二引数: byte[]型↓

intent.putExtra

拡張データの設定(ハッシュアルゴリズムの指定)
引数
・第一引数: “alg̲id”
・第二引数: int 型↓

startActivityForResult

Android 版 JPKI 利用者ソフトの起動と intent 送信
引数
・第一引数: intent
・第二引数: 任意のリクエストコード(int 型)↓

Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getByteArrayExtra

署名値の取得引数
・第一引数: “signature”↓

data.getIntExtra

エラーコードを取得(int 型)
引数・第一引数: “err̲code”

４０API 仕様書【Android インテント編】第 1.7 版
取得した値が 0000 の場合は正常に処理された↓
data.getIntExtra

詳細コードを取得(int 型)
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された↓終了処理

２終了処理終了処理参照（５） 署名検証処理(検証対象データを渡す場合)
初期処理

１初期処理初期処理参照↓

Intent インスタンスの生引数

成・第一引数: Intent.ACTION̲SEND↓

intent.setClassName

JPKI 利用者ソフトのパッケージ名とクラス名の設定
引数
・第一引数: “jp.go.jpki.mobile.utility”
・第二引数:“jp.go.jpki.mobile.intent.JPKIIntentActivity”↓

intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01002005↓

intent.putExtra

拡張データの設定(証明書データ(DER 形式))※(1),(2)で取得できるデータ
引数
・第一引数: “certificate”
・第二引数: byte[]型↓

intent.putExtra

拡張データの設定(検証対象データの設定)
引数
・第一引数: “message”
・第二引数: byte[]型↓

intent.putExtra

拡張データの設定(署名値の設定)※(3),(4)で取得できるデータ
４１

API 仕様書【Android インテント編】第 1.7 版
引数・第一引数: “signature”
・第二引数: byte[]型↓
intent.putExtra

拡張データの設定(ハッシュアルゴリズムの指定)
引数
・第一引数: “alg̲id”
・第二引数: int 型↓

startActivityForResult

Android 版 JPKI 利用者ソフトの起動と intent 送信
引数
・第一引数: intent
・第二引数: 任意のリクエストコード(int 型)↓

Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getIntExtra

署名値の検証結果
引数
・第一引数: “verifyrec”↓

data.getIntExtra

エラーコードを取得(int 型)
引数・第一引数: “err̲code”
取得した値が 0000 の場合は正常に処理された↓

data.getIntExtra

詳細コードを取得(int 型)
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された↓終了処理

２終了処理終了処理参照（６） 署名検証処理（ダイジェスト［ハッシュ値］を入力する場合）
初期処理

１初期処理初期処理参照
４２

API 仕様書【Android インテント編】第 1.7 版↓
Intent インスタンスの生引数

成・第一引数: Intent.ACTION̲SEND↓

intent.setClassName

JPKI 利用者ソフトのパッケージ名とクラス名の設定
引数
・第一引数:“jp.go.jpki.mobile.utility”
・第二引数:“jp.go.jpki.mobile.intent.JPKIIntentActivity”↓

intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01002006↓

intent.putExtra

拡張データの設定(証明書データ(DER 形式))※(1),(2)で取得できるデータ
引数
・第一引数: “certificate”
・第二引数: byte[]型↓

intent.putExtra

拡張データの設定(ダイジェストデータの設定)
引数
・第一引数: “hash”
・第二引数: byte[]型↓

intent.putExtra

拡張データの設定(署名値の設定)※(3),(4)で取得できるデータ
引数
・第一引数: “signature”
・第二引数: byte[]型↓

intent.putExtra

拡張データの設定(ハッシュアルゴリズムの指定)
引数
・第一引数: “alg̲id”
・第二引数: int 型↓

startActivityForResult

Android 版 JPKI 利用者ソフトの起動と intent 送信
引数
・第一引数: intent

４３API 仕様書【Android インテント編】第 1.7 版
・第二引数: 任意のリクエストコード(int 型)↓
Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getIntExtra

署名値の検証結果
引数
・第一引数: “verifyrec”↓

data.getIntExtra

エラーコードを取得(int 型)
引数・第一引数: “err̲code”
取得した値が 0000 の場合は正常に処理された↓

data.getIntExtra

詳細コードを取得(int 型)
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された↓終了処理

２終了処理終了処理参照（７） 繰り返し署名生成処理(署名対象データを渡すパターン)
繰り返し生成処理に関しては、「（３）署名生成処理（署名対象データを渡す場合）署名生成処理（署名対象データを渡す場合）」網掛け部分を署名対象データの個数分だけ繰り返して呼び出す。
（８） 繰り返し署名生成処理(ダイジェスト[ハッシュ値]を渡すパターン)
繰り返し生成処理に関しては、「（４）署名生成処理（ダイジェスト［ハッシュ値］を入力する場合）署名生成処理（ダイジェスト［ハッシュ値］を入力する場合）」網掛け部分を署名対象データの個数分だけ繰り返して呼び出す。
（９） 繰り返し署名検証処理(検証対象データを渡すパターン)「（５）署名検証処理(検証対象データを渡す場合)署名検証処理(検証対象データを渡す場合)」の網掛け部分を検証対象データの個数分だけ繰り返して呼び出す。(但し、すべての電子署名が同一の秘密鍵で生成された場合とする。)

４４

API 仕様書【Android インテント編】第 1.7 版（１０） 繰り返し署名検証処理(ハッシュ値を渡すパターン)「（６）署名検証処理（ダイジェスト［ハッシュ値］を入力する場合）」の網掛け部分を
検証対象データの個数分だけ繰り返して呼び出す。(但し、すべての電子署名が同一の秘密鍵で生成された場合とする。)

４５

API 仕様書【Android インテント編】第 1.7 版

４ カード AP ライブラリ(利用者証明用の場合)（１） 利用者証明用認証局の自己署名証明書取得処理
初期処理

１初期処理初期処理参照↓

Intent インスタンスの生引数

成・第一引数: Intent.ACTION̲SEND↓

intent.setClassName

JPKI 利用者ソフトのパッケージ名とクラス名の設定
引数
・第一引数: “jp.go.jpki.mobile.utility”
・第二引数:“jp.go.jpki.mobile.intent.JPKIIntentActivity”↓

intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01001001↓

startActivityForResult

Android 版 JPKI 利用者ソフトの起動と intent 送信
引数
・第一引数: intent
・第二引数: 任意のリクエストコード(int 型)↓

Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getByteArrayExtra

利用者証明用認証局の自己署名証明書(DER 形式)の取得
引数
・第一引数: “ca̲cert”↓

data.getIntExtra

エラーコードを取得(int 型)
引数・第一引数: “err̲code”
取得した値が 0000 の場合は正常に処理された

４６

API 仕様書【Android インテント編】第 1.7 版↓
data.getIntExtra

詳細コードを取得(int 型)
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された↓終了処理

２終了処理終了処理参照（２） 利用者証明用電子証明書取得処理
初期処理

１初期処理初期処理参照↓

Intent インスタンスの生引数

成・第一引数: Intent.ACTION̲SEND↓

intent.setClassName

インテントの送信元のアプリケーションコンテキストと対象アプ
リの設定
引数
・第一引数: “jp.go.jpki.mobile.utility”
・第二引数:“jp.go.jpki.mobile.intent.JPKIIntentActivity”↓

intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01001002↓

startActivityForResult

Android 版 JPKI 利用者ソフトの起動と intent 送信
引数
・第一引数: intent
・第二引数: 任意のリクエストコード(int 型)↓

Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getByteArrayExtra

秘密鍵に対応する利用者証明書(DER 形式)の取得
４７

API 仕様書【Android インテント編】第 1.7 版
引数・第一引数: “p̲cert”↓
data.getIntExtra

エラーコードを取得(int 型)
引数・第一引数: “err̲code”
取得した値が 0000 の場合は正常に処理された↓

data.getIntExtra

詳細コードを取得(int 型)
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された↓終了処理

２終了処理終了処理参照（３） 署名生成処理（署名対象データを渡す場合）
初期処理

１初期処理初期処理参照↓

Intent インスタンスの生引数

成・第一引数: Intent.ACTION̲SEND↓

intent.setClassName

JPKI 利用者ソフトのパッケージ名とクラス名の設定
引数
・第一引数: “jp.go.jpki.mobile.utility”
・第二引数:“jp.go.jpki.mobile.intent.JPKIIntentActivity”↓

intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01001003↓

intent.putExtra

拡張データの設定(署名対象データの設定)※(1),(2)で取得できるデータ
引数
・第一引数: “message”
・第二引数: byte[]型↓

intent.putExtra

拡張データの設定(ハッシュアルゴリズムの指定)
４８

API 仕様書【Android インテント編】第 1.7 版
引数・第一引数: “alg̲id”
・第二引数: int 型↓
startActivityForResult

Android 版 JPKI 利用者ソフトの起動と intent 送信
引数
・第一引数: intent
・第二引数: 任意のリクエストコード(int 型)↓

Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getByteArrayExtra

署名値の取得引数
・第一引数: “signature”↓

data.getIntExtra

エラーコードを取得(int 型)
引数・第一引数: “err̲code”
取得した値が 0000 の場合は正常に処理された↓

data.getIntExtra

詳細コードを取得(int 型)
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された↓終了処理

２終了処理終了処理参照（４） 署名生成処理（ダイジェスト［ハッシュ値］を入力する場合）
初期処理

１初期処理初期処理参照↓

Intent インスタンスの生引数

成・第一引数: Intent.ACTION̲SEND↓

intent.setClassName

JPKI 利用者ソフトのパッケージ名とクラス名の設定
４９

API 仕様書【Android インテント編】第 1.7 版
引数・第一引数: "jp.go.jpki.mobile.utility"
・第二引数: "jp.go.jpki.mobile.intent.JPKIIntentActivity"↓
intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01001004↓

intent.putExtra

拡張データの設定(ダイジェスト（ハッシュ値）の設定)
引数
・第一引数: “hash”
・第二引数: byte[]型↓

intent.putExtra

拡張データの設定(ハッシュアルゴリズムの指定)
引数
・第一引数: “alg̲id”
・第二引数: int 型↓

startActivityForResult

Android 版 JPKI 利用者ソフトの起動と intent 送信
引数
・第一引数: intent
・第二引数: 任意のリクエストコード(int 型)↓

Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getByteArrayExtra

署名値の取得引数
・第一引数: “signature”↓

data.getIntExtra

エラーコードを取得(int 型)
引数・第一引数: “err̲code”
取得した値が 0000 の場合は正常に処理された

５０

API 仕様書【Android インテント編】第 1.7 版↓
data.getIntExtra

詳細コードを取得(int 型)
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された↓終了処理

２終了処理終了処理参照（５） 署名検証処理(検証対象データを渡す場合)
「第５章

第３節

３（５）署名検証処理(検証対象データを渡す場合)署名検証処理(検証対象データを渡す場合)」を参照。
（６） 署名検証処理（ダイジェスト［ハッシュ値］を入力する場合）
「第５章

第３節

３（６）署名検証処理（ダイジェスト［ハッシュ値］を入力する場合）」を参照。
（７） 繰り返し署名生成処理(署名対象データを渡すパターン)
繰り返し生成処理に関しては、「（３）署名生成処理（署名対象データを渡す場合）署名生成処理（署名対象データを渡す場合）」網掛け部分を署名対象データの個数分だけ繰り返して呼び出す。
（８） 繰り返し署名生成処理(ダイジェスト[ハッシュ値]を渡すパターン)
繰り返し生成処理に関しては、「（４）署名生成処理（ダイジェスト［ハッシュ値］を入力する場合）署名生成処理（ダイジェスト［ハッシュ値］を入力する場合）」網掛け部分を署名対象データの個数分だけ繰り返して呼び出す。

５１

API 仕様書【Android インテント編】第 1.7 版

５ 個人認証サービス AP(署名用、利用者証明用共通)（１） 証明書表示
初期処理

１初期処理初期処理参照↓

Intent インスタンスの生引数

成・第一引数: Intent.ACTION̲SEND↓

intent.setClassName

JPKI 利用者ソフトのパッケージ名とクラス名の設定
引数
・第一引数: “jp.go.jpki.mobile.utility”
・第二引数:“jp.go.jpki.mobile.intent.JPKIIntentActivity”↓

intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01003001↓

intent.putExtra

拡張データの設定(証明書データ(DER 形式))
引数
・第一引数: “cert”
・第二引数: byte[]型↓

startActivityForResult

Android 版 JPKI 利用者ソフトの起動と intent 送信
引数
・第一引数: intent
・第二引数: 任意のリクエストコード(int 型)↓

Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getIntExtra

エラーコードを取得(int 型)
引数・第一引数: “err̲code”

５２

API 仕様書【Android インテント編】第 1.7 版
取得した値が 0000 の場合は正常に処理された↓
data.getIntExtra

詳細コードを取得(int 型)
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された↓終了処理

２終了処理終了処理参照（２） 基本 4 情報取得
初期処理

１初期処理初期処理参照↓

Intent インスタンスの生引数

成・第一引数: Intent.ACTION̲SEND↓

intent.setClassName

JPKI 利用者ソフトのパッケージ名とクラス名の設定
引数
・第一引数: “jp.go.jpki.mobile.utility”
・第二引数:“jp.go.jpki.mobile.intent.JPKIIntentActivity”↓

intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01003002↓

intent.putExtra

拡張データの設定(証明書取得で取得したデータ(DER 形式))
引数
・第一引数: “cert”
・第二引数: byte[]型↓

startActivityForResult

Android 版 JPKI 利用者ソフトの起動と intent 送信
引数
・第一引数: intent
・第二引数: 任意のリクエストコード(int 型)↓

Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
５３

API 仕様書【Android インテント編】第 1.7 版
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getStringExtra

住所を取得
引数
・第一引数: “address”↓

data.getStringExtra

生年月日を取得
引数
・第一引数: “date̲of̲birth”↓

data.getStringExtra

性別を取得
引数
・第一引数: “gender”↓

data.getStringExtra

氏名を取得
引数
・第一引数: “name”↓

data.getStringExtra

住所の代替文字を取得
引数
・第一引数: “substitute̲character̲of̲address”↓

data.getStringExtra

氏名の代替文字を取得
引数
・第一引数: “substitute̲character̲of̲name”↓

data.getIntExtra

エラーコードを取得(int 型)
引数・第一引数: “err̲code”
取得した値が 0000 の場合は正常に処理された↓

data.getIntExtra

詳細コードを取得(int 型)
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された↓終了処理

２終了処理終了処理参照

５４

API 仕様書【Android インテント編】第 1.7 版（３） 官職証明書検証
初期処理

１初期処理初期処理参照↓

Intent インスタンスの生引数

成・第一引数: Intent.ACTION̲SEND↓

intent.setClassName

JPKI 利用者ソフトのパッケージ名とクラス名の設定
引数
・第一引数: “jp.go.jpki.mobile.utility”
・第二引数:“jp.go.jpki.mobile.intent.JPKIIntentActivity”↓

intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01003003↓

intent.putExtra

拡張データの設定(証明書データ(DER 形式))
引数
・第一引数: “cert”
・第二引数: byte[]型↓

startActivityForResult

Android 版 JPKI 利用者ソフトの起動と intent 送信
引数
・第一引数: intent
・第二引数: 任意のリクエストコード(int 型)↓

Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getIntExtra

官職証明書検証機能で取得した証明書の検証の結果を取得
引数
・第一引数: “cert̲status”↓

５５API 仕様書【Android インテント編】第 1.7 版
data.getIntExtra

官職証明書検証機能で取得した認証パス検証結果コードを取得
引数
・第一引数: “cert̲path̲status”↓

data.getIntExtra

官職証明書検証機能で取得した有効性検証結果コードを取得
引数
・第一引数: “response̲status”↓

data.getIntExtra

エラーコードを取得(int 型)
引数・第一引数: “err̲code”
取得した値が 0000 の場合は正常に処理された↓

data.getIntExtra

詳細コードを取得(int 型)
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された↓終了処理

２終了処理終了処理参照（４） 自分の電子証明書の有効性確認
初期処理

１初期処理初期処理参照↓

Intent インスタンスの生引数

成・第一引数: Intent.ACTION̲SEND↓

intent.setClassName

JPKI 利用者ソフトのパッケージ名とクラス名の設定
引数
・第一引数: “jp.go.jpki.mobile.utility”
・第二引数:“jp.go.jpki.mobile.intent.JPKIIntentActivity”↓

intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01003004↓

intent.putExtra

拡張データの設定(証明書取得で取得したデータ(DER 形式))
引数
５６

API 仕様書【Android インテント編】第 1.7 版
・第一引数: “cert”
・第二引数: byte[]型↓
startActivityForResult

Android 版 JPKI 利用者ソフトの起動と intent 送信
引数
・第一引数: intent
・第二引数: 任意のリクエストコード(int 型)↓

Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getIntExtra

有効性確認結果を取得
引数
・第一引数: “code”↓

data.getStringExtra

有効性確認中に発生した Exception のメッセージを取得
引数
・第一引数: “exception”↓

data.getStringExtra

確認結果メッセージを取得
引数
・第一引数: “confirm̲msg”↓

data.getIntExtra

エラーコードを取得(int 型)
引数・第一引数: “err̲code”
取得した値が 0000 の場合は正常に処理された↓

data.getIntExtra

詳細コードを取得(int 型)
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された↓終了処理

２終了処理終了処理参照

５７

API 仕様書【Android インテント編】第 1.7 版（５） IC カード種別取得
初期処理

１初期処理初期処理参照↓

Intent インスタンスの生引数

成・第一引数: Intent.ACTION̲SEND↓

intent.setClassName

JPKI 利用者ソフトのパッケージ名とクラス名の設定
引数
・第一引数: “jp.go.jpki.mobile.utility”
・第二引数:“jp.go.jpki.mobile.intent.JPKIIntentActivity”↓

intent.putExtra

拡張データの設定(コマンドタイプの設定)
引数
・第一引数: “command̲type”
・第二引数: 0x01003005↓

startActivityForResult

Android 版 JPKI 利用者ソフトの起動と intent 送信
引数
・第一引数: intent
・第二引数: 任意のリクエストコード(int 型)↓

Android 版 JPKI 利用者ソフトからの情報を onActivityResult( int requestCode, int
resultCode, Intent data )で受け取る↓
data.getIntExtra

コマンドタイプを取得
引数
・第一引数: “command̲type”↓

data.getIntExtra

IC カード種別を取得
引数
・第一引数: “id”↓

data.getStringExtra

IC カード token 情報を取得
引数
・第一引数: “token”↓

data.getIntExtra

エラーコードを取得(int 型)
引数５８

API 仕様書【Android インテント編】第 1.7 版
・第一引数: “err̲code”
取得した値が 0000 の場合は正常に処理された↓
data.getIntExtra

詳細コードを取得(int 型)
引数・第一引数: “detail̲code”
取得した値が 00000000 の場合は正常に処理された↓終了処理

２終了処理終了処理参照

５９

API 仕様書【Android インテント編】第 1.7 版

第６章
第１節

画面仕様
画面一覧
表 ６-１ 画面一覧

#

機能名

1

証明書表示

画面名
基本画面

機能

概要

署 名 用 電 子 署名用電子証明書の基本情報を表示する。
証明書[有効性確認]ボタンの押下により、自分の電子証明書の有効性確認を行う。
[ファイル出力]ボタンの押下により、電子証明書の内容をファイルに出力する。

2

利 用 者 証 明 利用者証明用電子証明書の基本情報を表示する。
用 電 子 証 明 [有効性確認]ボタンの押下により、自分の電子証書

明書の有効性確認を行う。
[ファイル出力]ボタンの押下により、電子証明書の内容をファイルに出力する。

3

認 証 局 の 自 認証局の自己署名証明書(ルート認証局の自己署
己 署 名 証 明 名証明書,リンク証明書,下位認証局の自己署名書

証明書,相互認証証明書,自己署名証明書等)の基本情報を表示する。
[ファイル出力]ボタンの押下により、電子証明書の内容をファイルに出力する。

4

そ の 他 の 電 上記以外の証明書（官職証明書,職責証明書,そ
子証明書の他の証明書）の基本情報を表示する。
[証明書検証]ボタン押下により、証明書の検証を行う。
[ファイル出力]ボタンの押下により、電子証明書の内容をファイルに出力する。

5

詳細画面

電子証明書内の全ての記載事項を表示する。
署名用電子証明書または利用者証明用電子証明書の場合、[有効性確認]ボタンの押下により、自分の電子証明書の有効性確認を行う。
その他の電子証明書の場合、[証明書検証]ボタン
押下により、証明書の検証を行う。
[ファイル出力]ボタンの押下により、電子証明書の内容をファイルに出力する。

6

官職証明書・職責証明書 その他の電子証明書（基本／詳細）画面にて、[証検証画面

明書検証]ボタンを押下し、証明書検証を行い、証明書検証結果を表示する。

６０

API 仕様書【Android インテント編】第 1.7 版
7

利用者証明書有効性確認 署名用電子証明書（基本／詳細）画面または利用
画面

者証明用電子証明書（基本／詳細）画面にて、[有効性確認]ボタンを押下して有効性確認を行い、有効性確認結果を表示する。

8

9

その他

パスワード入力画面

パスワード入力の案内を行う。

IC カードセット案内画面 IC カードセットの案内を行う。

６１

API 仕様書【Android インテント編】第 1.7 版

第２節

署名用電子証明書基本画面
画面名

署名用電子証明書基本画面

概要

署名用電子証明書の基本情報を表示する。
画面レイアウト
①

⑲

②

③
④
⑤
⑥
⑦
⑧
⑨
⑩
⑪
⑫
⑬
⑭
⑮
⑯
⑰
⑱

表示項目と証明書領域の対応は、表 ６-２ 表示項目と証明書領域の対応（署名用電子証明書）表 ６-２ 表示項目と証明書領域の対応（署名用電子証明書）を参照。
画面項目説明
#

項目名

概要

①

戻るボタン

署名用電子証明書基本画面を閉じ、前画面に戻る。

②

タイトルバー

表示テキストは「電子証明書表示」とする。

③

タイトル

表示する電子証明書の種類を表示する。
表示テキストは以下の通りとする。
「公的個人認証サービス
利用者の署名用電子証明書」④

タブ

基本画面と詳細画面を切り替える。

６２

API 仕様書【Android インテント編】第 1.7 版⑤

氏名 ※1※1

利用者の氏名を表示する。大括弧「［ ］」内は旧氏を示す。括弧「（ ）」内は通称を示す。1 行で収まらない場合は、折り返して表示する。(単語途中であっても折り返しを行う。)⑥

代替文字の使用氏名の代替文字を表示する。代替文字がない場合は、表示しな（氏名）※1※1

い。

⑦

生年月日

利用者の生年月日を和暦で表示する。

⑧

性別

利用者の性別（男/女/不明）を表示する。

⑨

住所 ※1※1

利用者の住所を表示する。
1 行で収まらない場合は、折り返して表示する。(単語途中であっても折り返しを行う。)⑩

代替文字の使用

住所の代替文字を表示する。代替文字がない場合は、表示しな（住所）※1※1

い。

⑪

発行年月日

電子証明書の発行年月日を和暦で表示する。

⑫

有 効 期 間 の 満 了 電子証明書の有効期間の満了日を和暦で表示する。
日

⑬

発行者

⑭

ファイル出力ボタ [ファイル出力]ボタンを押下することによって電子証明書の内ン

電子証明書の発行者を表示する。
容をファイルに出力する。出力様式は以下の 2 通り。
・電子証明書を DER 形式のファイルとして出力する。拡張子は*.cer とする。
・画面表示内容をテキスト形式のファイルとして出力する。拡
張子は*.txt とする。

⑮

ステータスのタイ 「有効性確認結果」を表示する。
トル

⑯

ステータス

有効性確認状態を以下のように表示する。
確認前：電子証明書の有効性確認は行われていません。
確認後：有効性確認結果：「有効」
有効性確認結果：「有効期間切れ」
有効性確認結果：「失効済み」
有効性確認結果：「失効申請受理済み」
有効性確認結果：「一時保留」
有効性確認結果：「確認失敗(xxxxxx)」「xxxxxx」は原因を示すエラーコード。詳細は、表 ６-１０表
６-１０有効性確認結果「確認失敗」のエラーコード一覧を参照。

６３

API 仕様書【Android インテント編】第 1.7 版⑰

有 効 性 確 認 ボ タ [有効性確認]ボタンを押下することによって、公的個人認証サン

ービス AP の自分の電子証明書の有効性確認機能を呼び出し、
オンライン窓口サービスに有効性確認の問い合わせを行う。
自分の電子証明書の有効性確認機能の戻り値を判断して有効性確認結果画面を表示する。

⑱

閉じるボタン

署名用電子証明書基本画面を閉じ、前画面に戻る。

⑲

ヘルプボタン

オンラインヘルプ表示機能を実行する。

‐

バックキー

署名用電子証明書基本画面を閉じ、前画面に戻る。

※１については表 ６-２表 ６-２および第６章

第１１節

設定ルール一覧を参照。

表 ６-２ 表示項目と証明書領域の対応（署名用電子証明書）

#
1

氏名

2

代替文字
の使用(氏
名)

3

生年月日

4

性別

5
6

住所
代替文字
の使用(住
所)

7

発行年月
日
有効期間
の満了日
発行者

8
9

証明書の項目名

項目名

上位項目名
項目名
SubjectAltName commonName

Validity

IssuerAltName※１〜３については第６章

第１１節

表示方法

設定値をそのまま表示。
大括弧「［ ］」内は旧氏を示す。
括弧「（ ）」内は通称を示す。
substituteCharacterOf- ・代替文字を「鍵括弧」付で※1表示。
CommonName
・代替文字が複数ある場合は代替文字を続けて表示。
例)「吉」「郎」は代替文字です。
※2
設定値を和暦に変換して表示。
dateOfBirth※3
設定値を日本語表記に変換しgenderて表示。
address
設定値をそのまま表示。
substituteCharacterOf- ・代替文字を「鍵括弧」付で※1表示。
Address
・代替文字が複数ある場合は代替文字を続けて表示。
例)「葛」「飾」は代替文字です。
notBefore
設定値を和暦(日本標準時)に変換して表示。書式は「ＧＧYY
年 MM 月 DD 日」(ＧＧは元号、
notAfter
時分秒は表示せず。)
organizationalUnitName 設定値をそのまま表示。
設定ルール一覧を参照。

６４

API 仕様書【Android インテント編】第 1.7 版

第３節

利用者証明用電子証明書基本画面
画面名

利用者証明用電子証明書基本画面

概要

利用者証明用電子証明書の基本情報を表示する。
画面レイアウト
①

⑭

②

③
④
⑤

⑥
⑦
⑧

⑨
⑩
⑪
⑫
⑬

表示項目と証明書領域の対応は、表 ６-３表 ６-３表示項目と証明書領域の対応（利用者証明用電子証明書）を参照。
画面項目説明
#

項目名

概要

①

戻るボタン

利用者証明用電子証明書基本画面を閉じ、前画面に戻る。

②

タイトルバー

表示テキストは「電子証明書表示」とする。

③

タイトル

表示する電子証明書の種類を表示する。
表示テキストは以下の通りとする。
「公的個人認証サービス
利用者の利用者証明用電子証明書」④

タブ

基本画面と詳細画面を切り替える。

⑤

主体者

主体者を表示する。
設定値が 1 行で収まらない場合は、折り返して表示する。
(単語途中であっても折り返しを行う。)

⑥

発行年月日

電子証明書の発行年月日を和暦で表示する。
６５

API 仕様書【Android インテント編】第 1.7 版⑦

有効期間の満了日

電子証明書の有効期間の満了日を和暦で表示する。

⑧

発行者

電子証明書の発行者を表示する。
設定値が 1 行で収まらない場合は、折り返して表示する。
(単語途中であっても折り返しを行う。)⑨

ファイル出力ボタン[ファイル出力]ボタンを押下することによって電子証明書の内容をファイルに出力する。出力様式は以下の 2 通り。
・電子証明書を DER 形式のファイルとして出力する。拡
張子は*.cer とする。
・画面表示内容をテキスト形式のファイルとして出力する。拡張子は*.txt とする。

⑩

ステータスのタイトル 「有効性確認結果」を表示する。

⑪

ステータス

有効性確認状態を以下のように表示する。
確認前：電子証明書の有効性確認は行われていません。
確認後：有効性確認結果：「有効」
有効性確認結果：「有効期間切れ」
有効性確認結果：「失効済み」
有効性確認結果：「失効申請受理済み」
有効性確認結果：「一時保留」
有効性確認結果：「確認失敗(xxxxxx)」「xxxxxx」は原因を示すエラーコード。詳細は、表 ６-１
０表 ６-１０有効性確認結果「確認失敗」のエラーコード
一覧を参照。

⑫

有効性確認ボタン[有効性確認]ボタンを押下することによって、
公的個人認証サービス AP の自分の電子証明書の有効性確認機能を呼び出し、オンライン窓口サービスに有効性確認の問い合わせを行う。
自分の電子証明書の有効性確認機能の戻り値を判断して有効性確認結果画面を表示する。

⑬

閉じるボタン

利用者証明用電子証明書基本画面を閉じ、前画面に戻る。

⑭

ヘルプボタン

オンラインヘルプ表示機能を実行する。

‐

バックキー

利用者証明用電子証明書基本画面を閉じ、前画面に戻る。

６６

API 仕様書【Android インテント編】第 1.7 版

表 ６-３ 表示項目と証明書領域の対応（利用者証明用電子証明書）

#
1

主体者

2

発行年月
日
有効期間
の満了日
発行者

3
4

証明書の項目名

項目名

上位項目名
SubjectAltName
またはSubject

Validity

IssuerAltName
またはIssuer

項目名CountryName
CommonName
例)利用者証明用電子証
明書の場合

表示方法

SubjectAltName の DN を全て表示。
DN は属性毎に改行して表示
し、｢(属性名の略語)＝(設定値)｣にて表記。
subjectAltName に記述がない場合は subject を表示。
notBefore
設定値を和暦(日本標準時)に変換して表示。書式は「ＧＧYY
年 MM 月 DD 日」(ＧＧは元号、
notAfter
時分秒は表示せず。)
CountryName
IssuerAltName の DN を全て表
OrganizationName
示。
OrganizationalUnitName DN は属性毎に改行して表示し、OrganizationalUnitName ｢(属性名の略語)＝(設定値)｣
例)利用者証明用電子証 にて表記。issuerAltName に記
明書の場合述がない場合は issuer を表示。

６７

API 仕様書【Android インテント編】第 1.7 版

第４節

認証局の自己署名証明書基本画面
画面名

認証局の自己署名証明書基本画面

概要

認証局の自己署名証明書の基本情報を表示する。
画面レイアウト
②

①

⑫

③
④
⑤

⑥
⑦
⑧

⑨

⑩
⑪

表示項目と証明書領域の対応は、表 ６-４表 ６-４表示項目と証明書領域の対応（認証局の自己署名証明書）を参照。
画面項目説明
#

項目名

概要

①

戻るボタン

認証局の自己署名証明書基本画面を閉じ、前画面に戻る。

②

タイトルバー

表示テキストは「電子証明書表示」とする。

③

タイトル

表示する電子証明書の種類を表示する。
表示テキストは以下の通りとする。
・署名用認証局の自己署名証明書の場合「公的個人認証サービス

署名用認証局の電子証明書」

・利用者証明用認証局の自己署名証明書の場合「公的個人認証サービス

利用者証明用認証局の電子証明

書」
④

タブ

基本画面と詳細画面を切り替える。

６８

API 仕様書【Android インテント編】第 1.7 版⑤

主体者

主体者を表示する。
設定値が 1 行で収まらない場合は、折り返して表示する。(単語途中であっても折り返しを行う。)

⑥

発行年月日

電子証明書の発行年月日を和暦で表示する。

⑦

有効期間の満了日

電子証明書の有効期間の満了日を和暦で表示する。

⑧

発行者

電子証明書の発行者を表示する。
設定値が 1 行で収まらない場合は、折り返して表示する。(単語途中であっても折り返しを行う。)⑨

フィンガープリント

電子証明書のハッシュ値を計算して表示。ハッシュ関数は「sha256」を使用する。

⑩

ファイル出力ボタン[ファイル出力]ボタンを押下することによって電子証明書の内容をファイルに出力する。出力様式は以下の 2 通り。
・電子証明書を DER 形式のファイルとして出力する。拡張子は*.cer とする。
・画面表示内容をテキスト形式のファイルとして出力する。
拡張子は*.txt とする。

⑪

閉じるボタン

認証局の自己署名証明書基本画面を閉じ、前画面に戻る。

⑫

ヘルプボタン

オンラインヘルプ表示機能を実行する。

‐

バックキー

認証局の自己署名証明書基本画面を閉じ、前画面に戻る。

表 ６-４ 表示項目と証明書領域の対応（認証局の自己署名証明書）

#
1

主体者

2

発行年月
日
有効期間
の満了日
発行者

3
4

証明書の項目名

項目名

上位項目名
SubjectAltName
またはSubject

Validity

IssuerAltName
またはIssuer

項目名CountryName
OrganizationName
OrganizationalUnitName
OrganizationalUnitName
例) 認証局の自己署名証
明書の場合

表示方法

SubjectAltName の DN を全て表示。
DN は属性毎に改行して表示
し、｢(属性名の略語)＝(設定値)｣にて表記。
subjectAltName に記述がない場合は subject を表示。
notBefore
設定値を和暦(日本標準時)に変換して表示。書式は「ＧＧYY
年 MM 月 DD 日」(ＧＧは元号、
notAfter
時分秒は表示せず。)
CountryName
IssuerAltName の DN を全て表
OrganizationName
示。
OrganizationalUnitName DN は属性毎に改行して表示
OrganizationalUnitName し、｢(属性名の略語)＝(設定例) 認証局の自己署名証 値)｣にて表記。
明書の場合
issuerAltName に記述がない場合は issuer を表示。
６９

API 仕様書【Android インテント編】第 1.7 版
5

フィンガ
ープリン
ト

−

−

電子証明書のハッシュ値を計算して表示。ハッシュ関数は「sha256」を使用する。

７０

API 仕様書【Android インテント編】第 1.7 版

第５節

その他の電子証明書基本画面
画面名
概要

その他の電子証明書基本画面
利用者証明書、認証局の自己署名証明書以外の電子証明書の基本情報を表示する。
画面レイアウト
②

①

⑭

③
④
⑤

⑥
⑦
⑧
⑨
⑩
⑪
⑫
⑬

表示項目と証明書領域の対応は、表 ６-５表 ６-５表示項目と証明書領域の対応（官職証明書／職責証明書／その他の証明書）を参照。
画面項目説明
#

項目名

概要

①

戻るボタン

その他の電子証明書基本画面を閉じ、前画面に戻る。

②

タイトルバー

表示テキストは「電子証明書表示」とする。

③

タイトル

表示する電子証明書の種類を表示する。
表示テキストは以下の通りとする。
·

認証局の自己署名証明書の場合「認証局の電子証明書」·

上記以外の電子証明書の場合「電子証明書」④

タブ

基本画面と詳細画面を切り替える。

７１

API 仕様書【Android インテント編】第 1.7 版⑤

主体者

主体者を表示する。
設定値が 1 行で収まらない場合は、折り返して表示する。(単語途中であっても折り返しを行う。)

⑥

発行年月日

電子証明書の発行年月日を和暦で表示する。

⑦

有効期間の満了日

電子証明書の有効期間の満了日を和暦で表示する。

⑧

発行者

電子証明書の発行者を表示する。
設定値が 1 行で収まらない場合は、折り返して表示する。(単語途中であっても折り返しを行う。)⑨

ファイル出力ボタ [ファイル出力]ボタンを押下することによって電子証明書の内ン

容をファイルに出力する。出力様式は以下の 2 通り。
・電子証明書を DER 形式のファイルとして出力する。拡張子は*.cer とする。
・画面表示内容をテキスト形式のファイルとして出力する。拡
張子は*.txt とする。

⑩

ステータスのタイト 「証明書検証結果」を表示する。
ル

⑪

ステータス

証明書検証状態を以下のように表示する。
検証前：電子証明書の検証は行われていません。
検証後：証明書検証結果「有効」
証明書検証結果「無効（xxxxxx）」
証明書検証結果「検証失敗（xxxxxx）」「xxxxxx」は原因を示すエラーコード。詳細は、表 ６-８表
６-８証明書検証結果「無効」の場合のエラーコード一覧、表
６-９表 ６-９証明書検証結果「検証失敗」の場合のエラーコ
ード一覧を参照。

⑫

証明書検証ボタン[証明書検証]ボタンを押下することによって、公的個人認証サービス AP の官職証明書検証機能を呼び出し、官職証明書検証
サービスに証明書検証の問い合わせを行う。
官職証明書検証機能の戻り値を判断して官職証明書・職責証明書検証画面を表示する。

⑬

閉じるボタン

その他の電子証明書基本画面を閉じ、前画面に戻る。

⑭

ヘルプボタン

オンラインヘルプ表示機能を実行する。

‐

バックキー

その他の電子証明書基本画面を閉じ、前画面に戻る。

７２

API 仕様書【Android インテント編】第 1.7 版

表 ６-５ 表示項目と証明書領域の対応（官職証明書／職責証明書／その他の証明書）

#
1

主体者

2

発行年月
日
有効期間
の満了日
発行者

3
4

5

証明書の項目名

項目名

フィンガ
ープリン
ト

上位項目名
SubjectAltName
またはSubject

項目名CountryName
OrganizationName
OrganizationalUnitName
CommonName
例)官職証明書の場合

Validity

notBefore
notAfterIssuerAltName
またはIssuerCountryName
OrganizationName
OrganizationalUnitName
例)官職証明書の場合

−

−

表示方法
SubjectAltName の DN を全て表示。
DN は属性毎に改行して表示
し、｢(属性名の略語)＝(設定値)｣にて表記。
subjectAltName に記述がない場合は subject を表示。
設定値を和暦(日本標準時)に変換して表示。書式は「ＧＧYY
年 MM 月 DD 日」(ＧＧは元号、
時分秒は表示せず。)
IssuerAltName の DN を全て表示。
DN は属性毎に改行して表示
し、｢(属性名の略語)＝(設定値)｣にて表記。
issuerAltName に記述がない場合は issuer を表示。
認証局の自己署名証明書の場
合のみ表示。
電子証明書のハッシュ値を計算して表示。ハッシュ関数は「sha1」または「sha256」を使
用する。

７３

API 仕様書【Android インテント編】第 1.7 版

第６節

詳細画面
画面名

詳細画面

概要

電子証明書内の全ての記載事項を表示する。
画面レイアウト
①
③

⑫

②
④

⑤

⑥

⑦
⑧
⑨
⑩
⑪

表示項目と証明書領域の対応は、表 ６-６表 ６-６項目名と証明書基本領域との対応、表
６-７表 ６-７項目名と証明書標準拡張領域との対応を参照。
画面項目説明
#

項目名

概要

①

戻るボタン

詳細画面を閉じ、前画面に戻る。

②

タイトルバー

表示テキストは「電子証明書表示」とする。

７４

API 仕様書【Android インテント編】第 1.7 版③

タイトル表示する電子証明書の種類を表示する。
表示テキストは以下の通りとする。
・住基カードに格納された署名用電子証明書および個人番号
カードに格納された署名用電子証明書の場合「公的個人認証サービス 利用者の署名用電子証明書」
・個人番号カードに格納された利用者証明用電子証明書の場
合「公的個人認証サービス 利用者の利用者証明用電子証明書」
・都道府県知事の自己署名証明書および署名用認証局の自己署名証明書の場合「公的個人認証サービス 署名用認証局の電子証明書」
・利用者証明用認証局の自己署名証明書の場合「公的個人認証サービス 利用者証明用認証局の電子証明書」
・上記以外の認証局の自己署名証明書の場合「認証局の電子証明書」
・上記以外の証明書の場合「電子証明書」④

タブ

基本画面と詳細画面を切り替える。

⑤

フィンガープリント

電子証明書のハッシュ値を計算して表示する。
ハッシュ関数は「sha1」または「sha256」を使用する。

⑥

証明書内容表示領域

電子証明書内の記載事項を表示する。
フィールド名と値の詳細は、表 ６-６ 項目名と証明書基本領域との対応表 ６-６ 項目名と証明書基本領域との対応と表
６-７ 項目名と証明書標準拡張領域との対応表 ６-７ 項目名と証明書標準拡張領域との対応の基本画面を参照。

⑦

ファイル出力ボタン[ファイル出力]ボタンを押下することによって電子証明書の内容をファイルに出力する。出力様式は以下の 2 通り。
・電子証明書を DER 形式のファイルとして出力する。拡張子は*.cer とする。
・画面表示内容をテキスト形式のファイルとして出力する。拡
張子は*.txt とする。

⑧

ステータスのタイト 表示テキストは以下の通りとする。
ル

・利用者証明書の場合「有効性確認結果」
・官職証明書／職責証明書の場合「証明書検証結果」

７５

API 仕様書【Android インテント編】第 1.7 版
⑨

ステータス

利用者証明書の場合は有効性確認結果を表示する。
（ステータ
スの概要については、第２節

署名用電子証明書基本画面署

名用電子証明書基本画面の画面項目説明を参照。
）
官職証明書／職責証明書の場合は証明書確認結果を表示する。
（ステータスの概要については、第５節

その他の電子証明書基本画面の画面項目説明を参照。
）⑩

有効性確認ボタン／ 利用者証明書の場合は有効性確認ボタンを表示する。
（有効性
証明書検証ボタン

確認機能については、第２節

署名用電子証明書基本画面署

名用電子証明書基本画面の画面項目説明を参照。
）
官職証明書／職責証明書の場合は証明書検証ボタンを表示する。
（証明書検証機能については、第５節

その他の電子証明書基本画面の画面項目説明を参照。
）⑪

閉じるボタン

詳細画面を閉じ、前画面に戻る。

⑫

ヘルプボタン

オンラインヘルプ表示機能を実行する。

‐

バックキー

その他の電子証明書基本画面を閉じ、前画面に戻る。

表 ６-６ 項目名と証明書基本領域との対応

#

項目名

1

バージョン

証明書の項目名
上位項目名

表示方法

項目名

versionVersion 表記。Version3 は“V3”とする。

2

シリアル番号

serialNumber

3

署名アルゴリsignature

ズム
4

発行者

issuer

設定値をそのまま表示。
algorithm

algorithm の OID を RFC の規定値にparameters

変換した値。

countryName

DN を属性毎に改行。各行は「（属性organizationNameの略語）=（設定値）」にて表記。

organizationalUni <属性の略語>
tName「countryName」

等→C「organizationName」→O「organizationalUnitName」
→OU

5

発行年月日

6

有効期間の満Validity

notBefore

設定値を西暦（日本標準時）で表

notAfter示。書式は「YYYY 年 MM 月 DD 日 hh
時 mm 分 ss 秒」
。

了日

７６

API 仕様書【Android インテント編】第 1.7 版

#

項目名

7

主体者※4

証明書の項目名
上位項目名
subject

表示方法

項目名
countryName

DN を属性毎に改行。各行は「（属性localityNameの略語）=（設定値）」にて表記。

commonName<属性の略語>等「countryName」→C「localityName」→L「commonName」→CN
commonName が発行要求発生時刻の場合は、設定値をそのまま表示。

8

発行申請送信subject

時刻※5
9commonName

commonName から発行申請送信時刻をのみが表示対象抜き出して表示。

受付端末識別commonName から受付端末識別記号を

記号※5

抜き出して表示。

10 発行申請送信

subject

時刻※6commonName

commonName から発行申請送信時刻をのみが表示対象抜き出して表示。

11 シーケンス番

commonName からシーケンス番号を抜号※6

き出して表示。

12 受付端末識別

commonName から受付端末識別記号を記号※613 ランダム文字

抜き出して表示。
subject

列※7commonName

commonName からランダム文字列を抜のみが表示対象

き出して表示。

14 受付端末識別

commonName から受付端末識別記号を

記号※7

抜き出して表示。

15 主体者の公開

subjectPubl

algorithm

SubjectPublicKey の設定値（１６進

鍵情報

icKeyInfo

subjectPublicKey数）をそのまま表示。

16 発行者ユニー

issuerUniqueID

設定値をそのまま表示。

subjectUniqueID

設定値をそのまま表示。

ク識別子
17 主体者ユニー
ク識別子※4：利用者証明書以外の場合※5：住基カードに格納された署名用電子証明書の場合※6：個人番号カードに格納された署名用電子証明書の場合※7：個人番号カードに格納された利用者証明用電子証明書の場合

７７

API 仕様書【Android インテント編】第 1.7 版
表 ６-７ 項目名と証明書標準拡張領域との対応#

証明書の項目名

項目名

上位項目名
1

表示方法

項目名

認証局鍵識別

AuthorityKe

keyIdentifier子

yIdentifier

authorityCertIssu 目毎に階層表示。なお、表示の際は
er

AuthorityKeyIdentifier の情報を項
以下のルールを適用する。

authorityCertSeri ・項目名は英語のまま。
alNumber・OID は RFC の規定値に変換。
・DN は属性毎に改行。

2

鍵用途

KeyUsage

digitalSignature

KeyUsage の情報を項目毎に階層表

nonRepudiation

示。なお、表示の際は以下のルール

keyEnciphermentを適用する。

dataEncipherment

・項目名は英語のまま。

keyAgreement

・OID は RFC の規定値に変換。

keyCertSign
cRLSign
encipherOnly

・KeyUsage のビット列は、鍵用途の英語名に変換してカンマ区切り表
示。

decipherOnly
3

主体者代替名SubjectAltN
ame

countryNameorganizationNameorganizationalUni
tName等

SubjectAltName の情報を項目毎に階層表示。なお、表示の際は以下のルールを適用する。
・項目名は英語のまま。
・OID は RFC の規定値に変換。

4

発行者代替名issuerAltNa
me

5

基本制約

countryName
issuerAltName の情報を項目毎に階organizationName
層表示。なお、表示の際は以下のル
organizationalUniールを適用する。
tName
・項目名は英語のまま。
等
・OID は RFC の規定値に変換。

BasicConstr

capathLenConstrai BasicConstrains の情報を項目毎に

ains

nt

階層表示。なお、表示の際は以下のルールを適用する。
・項目名は英語のまま。
・OID は RFC の規定値に変換。

6

CRL 分配点

CRLDistribu
tionPoints

countryNameorganizationNameorganizationalUni
tName等

CRLDistributionPoints の情報を項目毎に階層表示。なお、表示の際は以下のルールを適用する。
・項目名は英語のまま。
・OID は RFC の規定値に変換。
・DN は属性毎に改行。

７８

API 仕様書【Android インテント編】第 1.7 版#
7

証明書の項目名

項目名

上位項目名

項目名

証明書ポリシCertificateーPolicies

policyIdentifier
policyQualifiers

表示方法
CertificatePolicies の情報を項目毎に階層表示。なお、表示の際は以下のルールを適用する。
・項目名は英語のまま。
・OID は RFC の規定値に変換。

8

主体者鍵識別SubjectKeyI子

dentifierkeyIdentifier

SubjectKeyIdentifier の情報を項目毎に階層表示。なお、表示の際は以下のルールを適用する。
・項目名は英語のまま。
・OID は RFC の規定値に変換。

9

拡張鍵用途

ExtKeyUsage

serverAuth

ExtKeyUsage の情報を項目毎に階層

clientAuth表示。なお、表示の際は以下のルー

codeSigning

ルを適用する。

emailProtection

・項目名は英語のまま。

ipsecEndSystem

・OID は RFC の規定値に変換。

ipsecTunnel
ipsecUser
timeStamping

７９

API 仕様書【Android インテント編】第 1.7 版

第７節

官職証明書・職責証明書検証画面
画面名
概要

官職証明書・職責証明書検証画面
その他の電子証明書（基本／詳細）画面にて、[証明書検証]ボタンを押下し、証明書検証を行い、証明書検証結果を表示する。
画面レイアウト④①②③

画面項目説明
#

項目名

概要

①

タイトルバー

表示テキストは「検証結果表示」とする。

②

証明書検証結果

証明書検証が終了した場合、以下のメッセージを表示する。
証明書が有効の場合：証明書検証結果「有効」
証明書が無効の場合：証明書検証結果「無効（xxxxxx）」（無効の場合とは、証明書検証結果が失敗した場合を示す。
）
証明書検証処理が失敗した場合：証明書検証結果「検証失敗（xxxxxx）」（検証失敗とは、証明書検証が行えなかった場合を示す。）「xxxxxx」は原因を示すエラーコード。詳細は、表 ６-８
表 ６-８証明書検証結果「無効」の場合のエラーコード一覧、
表 ６-９表 ６-９証明書検証結果「検証失敗」の場合のエラーコード一覧、表 ６-１０表 ６-１０有効性確認結果「確認失敗」のエラーコード一覧を参照。

③

ＯＫボタン

官職証明書・職責証明書検証画面を閉じる。

④

閉じるボタン

官職証明書・職責証明書検証画面を閉じる。

‐

バックキー

官職証明書・職責証明書検証画面を閉じ、前画面に戻る。

８０

API 仕様書【Android インテント編】第 1.7 版＜メッセージの詳細＞
表 ６-８ 証明書検証結果「無効」の場合のエラーコード一覧

#

エラー

内容

コード

意味

1

100101

認証パス構築不可(101)

認証パス構築ができないこと。

2100202

署名不正(202)

認証パスに署名が不正である証明書が含まれて
いること。

3

100203

失効証明書を含む(203)

認証パスに失効した証明書が含まれていること。

4100204

ポリシー不一致(204)

認証パスにポリシーが一致しない証明書が含まれていること。

5100205

制約違反(205)

認証パスに制約に違反している証明書が含まれていること。

6
7100206100301OCSP での証明書検証確認

認証パスに OCSP での certStatus が unknown と不正(206)

応答される証明書が含まれていること。

アルゴリズム拒否(301)

官職証明書検証サーバ(CVS)側で検証対象証明書の受け付けを拒否されたこと。

8100302

アルゴリズム拒否(302)

証明書検証サーバ(CVS)側で中間証明書またはTA 証明書の受け付けを拒否した。

9100901

要求受付け拒否(901)

官職証明書検証サーバ(CVS)側で要求の受け付が拒否されたこと。
注：( )中のコードは cert̲path̲status を示す。

表 ６-９ 証明書検証結果「検証失敗」の場合のエラーコード一覧

#
1

エラー

内容

コード
100902

タイムアウト(902)意味
要求がタイムアウトとなったこと。( )中のコ
ードは cert̲path̲status を示す。

2

200100

署名検証失敗受信した OCSP レスポンスデータが改竄されて
いること。

3
4

200200300100証明書が改竄または、有OCSP レスポンスに付与されている電子証明書

効期間切れが改竄または有効期間切れである。

接続失敗

ネットワークの問題で通信できなかった。
プロキシサーバを使用している場合は、プロキ
シ情報の指定に誤りがある。

5300200拡張領域の解析に失敗

官職証明書検証サーバ(CVS)に接続していな
い。環境設定ファイルの CVS 接続先 URL をもう

８１

API 仕様書【Android インテント編】第 1.7 版

#

エラー

内容

コード

意味
一度見直してください。

6300300その他のエラー発生のた・ 環境設定ファイルに CVS 接続先 URL が指定

め証明書検証の確認不可

されていない又は、環境設定ファイルが存在しない。
・ その他の内部エラーが発生。

7

300400証明書の取得失敗

・ IC カードの PIN 入力でキャンセルされた場合。
・ IC カードが端末にセットされていない場合。

8400001OCSP Request のフォーマ

官職証明書検証サーバ(CVS）で例外が発生

ットエラー(1)・ 検証要求を行う官職証明書検証サーバ

9400002

内部エラー (2)(CVS）の検証依頼者認証が必要であるか確

10400003

一時的な回答不能(3)

認してください。

11

400005OCSP Request への署名が

12

400006・ 署名に使用した電子証明書が X.509 バージ

必要(5)ョン 3 の電子証明書であるかを確認してく

クライアントが認証されださい。

ていない(6)
注：( )中のコードは response̲status を示す。

８２

API 仕様書【Android インテント編】第 1.7 版

第８節

利用者証明書有効性確認画面
画面名
概要

利用者証明書有効性確認画面
電子証明書（基本／詳細）画面にて、[有効性確認]ボタンを押下し、有効性確認を行い、有効性確認結果を表示する。
画面レイアウト④①②③

画面項目説明#

項目名①

タイトルバー

概要
表示テキストは「検証結果表示」とする。

８３

API 仕様書【Android インテント編】第 1.7 版②

有効性確認結果

有効性確認結果が終了した場合、以下のメッセージを表示する。
対象とする証明書が有効の場合
有効性確認結果：「有効」
対象とする証明書の有効期間が切れている場合
有効性確認結果：「有効期間切れ」
対象とする証明書が失効済みの場合
有効性確認結果：「失効済み」
対象とする証明書のオンライン失効申請を行った場合
有効性確認結果：「失効申請受理済み」
対象とする証明書が一時保留状態の場合
有効性確認結果：「一時保留」
有効性確認処理が失敗した場合
有効性確認結果：「確認失敗（xxxxxx）」（確認失敗とは、有効性確認が行えなかった場合を示す。）「xxxxxx」は原因を示すエラーコード。詳細は、表 ６-１０
表 ６-１０有効性確認結果「確認失敗」のエラーコード一覧を参照。

③

OK ボタン

利用者証明書有効性確認画面を閉じ、前画面に戻る。

④

閉じるボタン

利用者証明書有効性確認画面を閉じ、前画面に戻る。

‐

バックキー

利用者証明書有効性確認画面を閉じ、前画面に戻る。

＜メッセージの詳細＞
表 ６-１０ 有効性確認結果「確認失敗」のエラーコード一覧

#
1

エラー

内容

コード
100600

意味

申請書の電子署名検証エラー

オンライン窓口サーバで「申請書の電子署名検証エラー」が発生した。

2100604

対象とする証明書の認証局の電オンライン窓口サーバで「対象とする証

子署名検証エラー

明書の認証局の電子署名検証エラー」が
発生した。

3
4

100605200601

対象とする証明書の有効性確認

オンライン窓口サーバで「対象とする証

エラー

明書の有効性確認エラー」が発生した。

申請情報取込エラー

オンライン窓口サーバで「申請情報取込
エラー」が発生した。

5200602

対象とする証明書の有効期間切れエラー

オンライン窓口サーバで「対象とする証明書の有効期間切れエラー」が発生した。

８４

API 仕様書【Android インテント編】第 1.7 版

#
6

エラー
コード
200603

内容

意味

受信データ形式エラー

オンライン窓口サーバで「受信データ形
式エラー」が発生した。

7

200609オンライン窓口エラー（DB）

オンライン窓口サーバで「オンライン窓
口エラー(DB)」が発生した。

8

200611

オンライン窓口混雑

オンライン窓口サーバが混雑している。

9

200612

オンライン窓口エラー

オンライン窓口サーバでエラーが発生した。

10

200622

対象とする証明書と署名実施証
明書の不一致エラー

オンライン窓口サーバで「対象とする証
明書と署名実施証明書の不一致エラー」が発生した。

11
12

200652
200654

署名実施証明書の有効期間外エラー

オンライン窓口サーバで「署名実施証明

署名実施証明書の認証局の電子署名検証エラー

オンライン窓口サーバで「署名実施証明書の有効期間外エラー」が発生した。
書の認証局の電子署名検証エラー」が発
生した。

13
14

200655200656

署名実施証明書の有効性確認エラー

オンライン窓口サーバで「署名実施証明

オンライン窓口エラー(OCSP)

オンライン窓口サーバで「オンライン窓

書の有効性確認エラー」が発生した。
口エラー(OCSP)」が発生した。

1516200657
200658

署名実施証明書の失効済みエラーオンライン窓口サーバで「署名実施証明

署名実施証明書の失効申請受理済みエラー

オンライン窓口サーバで「署名実施証明書の失効済みエラー」が発生した。
書の失効申請受理済みエラー」が発生した。

17

200663

署名実施証明書の一時保留状態
エラー

オンライン窓口サーバで「署名実施証明

HTTP 通信エラー

HTTP 通信中にエラーが発生した。

書の一時保留状態エラー」が発生した。

18

2001xx

19

2002xx20

2003xx21

2005xx22

3004xx23

300703

IC カードがロックされている

IC カードは現在使用中。

24

300704

IC カードに接続できない

カードリーダ接続不備、またはカードが1xx〜5xx は HTTP1.1 ステータスコード。

接続されていない。
25

300705

対象とする証明書の解析失敗対象とする証明書の解析に失敗した。

26

300706

サーバ時刻の取得に失敗

サーバ時刻の取得に失敗した。

８５

API 仕様書【Android インテント編】第 1.7 版

#
27
28
29

エラー
コード
300707300709400606

内容

意味

オンライン窓口サーバへのアクセスエラー

オンライン窓口サーバでアクセスに失敗対象とする証明書の有効期間になっていない対象とする証明書の有効期間開始の日付

対象とする証明書のオンライン
窓口エラー（OCSP）

オンライン窓口サーバで「対象とする証した。
が未来の日時である。
明書のオンライン窓口エラー(OCSP)」が
発生した。

８６

API 仕様書【Android インテント編】第 1.7 版

第９節

パスワード入力画面
画面名

パスワード入力画面

概要

パスワードの入力を案内する。
画面レイアウト

①

①
⑧

②

②

③
④

③
④

⑤

⑤

⑥

⑧

⑥

⑦

⑦

画面項目説明#

項目名①

タイトルバー②

パスワード入力案内メ 署名用電子証明書の場合：「公的個人認証サービス
ッセージ

概要
表示テキストは「パスワード入力」とする。
署名用パスワード(英数字 6〜16 文字)を入力してください。」
利用者証明用電子証明書の場合：「公的個人認証サービス
利用者証明用パスワード(数字 4 桁)を入力してください。
」

③

パスワード

④

パスワードを表示する パスワードの伏字表示を切り替える。
チェックボックス

パスワードを入力する。
デフォルトはチェックなしとする。

８７

API 仕様書【Android インテント編】第 1.7 版⑤

注意メッセージ

署名用電子証明書の場合：「※注意※
・本パスワードは 5 回連続で間違えるとロックされますのでご注意ください。
ロックした場合の初期化は、市区町村窓口等やコンビニのキ
オスク端末（専用スマホアプリが必要）により行うことができます。詳しくはメニュー画面の「JPKI ポータルサイト閲
覧」から JPKI ポータルサイトをご確認ください。
」
利用者証明用電子証明書の場合：「※注意※
・本パスワードは 3 回連続で間違えるとロックされますのでご注意ください。
ロックした場合は市区町村窓口にてパスワード初期化を申請してください。
」⑥

OK ボタン

パスワード入力画面を閉じ、前画面に戻る。

⑦

キャンセルボタン

パスワード入力画面を閉じ、前画面に戻る。

⑧

終了ボタン

パスワード入力画面を閉じ、前画面に戻る。

‐

バックキー

パスワード入力画面を閉じ、前画面に戻る。

８８

API 仕様書【Android インテント編】第 1.7 版

第１０節

IC カードセット案内画面

画面名

IC カードセット案内画面

概要

IC カードセットの案内を行う。
画面レイアウト②①③④

画面項目説明#

項目名①

タイトルバー「IC カードセット案内」を表示する。

②

終了ボタン

IC カードのセットを中止し、復帰先画面に戻る。

③

IC カードセット案 「マイナンバーカードをスマートフォンの NFC 読み取り位置にぴ内メッセージ④

概要

ったりと密着させてください。
」を表示する。

ポータルサイトボ ブラウザ経由でポータルサイトを表示する。
タン

‐

バックキー

IC カードのセットを中止し、復帰先画面に戻る。

８９

API 仕様書【Android インテント編】第 1.7 版

第１１節

設定ルール一覧※1 代替文字の設定ルール(ⅰ) 表記ルール
1.

代替文字を”1”、それ以外を”0”で表現する。

2.

スペースも 1 文字として捉え、ルール 1 を適用する。

(ⅱ)表記例
項目名 設定値

代替文字使用位置の値 説明

氏名

10000

吉田△太郎

氏名の長さは 5 文字
1 文字目の「吉」が代替文字

住所

東京都葛飾区ｘｘｘ 000100000

住所の長さは 9 文字
4 文字目の「葛」が代替文字△は全角スペース※2 生年月日の設定ルール(ⅰ) コード体系
英数字型
E

9桁

EYYYYMMDD：年号コード

1 桁（1:明治

2:大正

3:昭和

4:平成

5:令和）

YYYY ：西暦年

4桁

MM

：月

2 桁（01〜12:1 月〜12 月

DD：日

2 桁（01〜31:1 日〜31 日

00:不明

例

生年月日の値

表

記

通常

420030401

平成 15 年 4 月 1 日

年号のはざまの日

219261225

大正 15 年 12 月 25 日

319261225

昭和元年 12 月 25 日

00:不明

A1:春

A2:夏

A1:上旬

(ⅱ) 表記例

年月日不明

000000000

月日不明

319260000

昭和元年

31926A100

昭和元年春319261200

昭和元年 12 月

3192612A2

昭和元年 12 月中旬

日不明

９０

A3:秋

A4:冬）

A2:中旬

A3:下旬）

API 仕様書【Android インテント編】第 1.7 版※3 性別の設定ルール(ⅰ) コード体系
英数字型
X

1桁

X

：性別コード 1 桁

（1:男

2:女

９１

3:不明）

禁・無断転載
公的個人認証サービス
利用者クライアントソフト API 仕様書【Android インテント編】
第 1.7 版

（注意事項）※利用者クライアントソフトの著作権は、総務省、地方公共団体情報システム機
構が保有しており、国際著作権条約及び日本国の著作権関連法令によって保護されています。
※利用者クライアントソフトの利用に当たっては、
次に掲げる行為を禁止します。
（1） 利用者クライアントソフトを電子署名に係る地方公共団体情報システム
機構の認証業務に関する法律において制限されている電子証明書の用途で利用すること。
（2） 利用者クライアントソフトに対し、総務省、地方公共団体情報システム機
構に許可なく改造等を行うこと。
※総務省、地方公共団体情報システム機構は、利用者が利用者クライアントソフトを利用したことにより発生した利用者の損害及び利用者が第三者に与えた損害について、一切の責任を負いません。
※商標については次の通りです。
(1) Android は、Google LLC の米国およびその他の国における登録商標です。
(2) その他、記載されている会社名、製品名等は、各社の登録商標または商標です。