最新の基本4情報取得の同意データの作成
このページでは、PocketSign Verify SDK を使用してマイナンバーカードに搭載された署名用電子証明書を使用した同意データの作成を行います。
あらかじめSDK のセットアップを完了しておいてください。
シーケンス
実装例
ここでは、基本4情報(氏名、住所、生年月日、性別)全ての提供に同意する例を示します。
- iOS
- Android
- Web
func run(pin: String) async throws -> String {
// JPKI APへの接続準備を行います。
let session = ReaderSession(dispatchQueue: DispatchQueue.main)
// JPKI APを初期化します。
let ap = JPKIAP(session: session)
// サービスIDとサービス事業者IDを設定します。
// これらの値についてはお問い合わせください。
let serviceID = "sample"
let serviceProviderID = "sample"
// 基本4情報(氏名、住所、生年月日、性別)について、どの情報の提供に同意するかを設定します。
let preference = Preference(commonName: true, address: true, dateOfBirth: true, gender: true)
// 同意データの作成を行います。
// JPKI APに対して署名用電子証明書による署名を要求するため、署名用電子証明書の暗証番号を入力する必要があります。
let result = try await ap.createConsentApplication(password: pin, serviceID: serviceID, serviceProviderID: serviceProviderID, preference: preference)
session.close()
return "同意データ: \(result?.base64EncodedString() ?? "")\n"
}
suspend fun run(pin: String): String {
// JPKI APへの接続準備を行います。
val session = ReaderSession(this, this)
// JPKI APを初期化します。
val ap = JPKIAP(session)
// サービスIDとサービス事業者IDを設定します。
// これらの値についてはお問い合わせください。
val serviceID = "sample"
val serviceProviderID = "sample"
// 基本4情報(氏名、住所、生年月日、性別)について、どの情報の提供に同意するかを設定します。
val preference = Preference(true, true, true, true)
// 同意データの作成を行います。
// JPKI APに対して署名用電子証明書による署名を要求するため、署名用電子証明書の暗証番号を入力する必要があります。
val result = ap.createConsentApplication(pin, serviceID, serviceProviderID, preference)
session.close()
return "同意データ: ${Base64.encodeToString(result, Base64.NO_WRAP)}\n"
}
注意
Verify SDK for Web PaSoRi は、現在ベータ版での提供となります。
const run = async (pin: string) => {
// JPKI APへの接続準備を行います。
const session = new ReaderSession(nfcPortLib);
// JPKI APを初期化します。
const ap = new JPKIAP(session);
// サービスIDとサービス事業者IDを設定します。
// これらの値についてはお問い合わせください。
const serviceID = 'sample';
const serviceProviderID = 'sample';
// 基本4情報(氏名、住所、生年月日、性別)について、どの情報の提供に同意するかを設定します。
const preference = new Preference(true, true, true, true);
// 同意データの作成を行います。
// JPKI APに対して署名用電子証明書による署名を要求するため、署名用電子証明書の暗証番号を入力する必要があります。
const result = await ap.createConsentApplication(pin, serviceID, serviceProviderID, preference);
await session.close();
return `同意データ: ${btoa(String.fromCharCode(...result))}\n`;
};
ヒント
モック環境では、FeliCa カード(交通系 IC カード、Edy、WAON など)や、ISO/IEC 14443-4 Type-A カード(クレジットカードなど)をタッチすると、マイナンバーカードの挙動がシミュレートされます。 詳しくはSDK リファレンスをご覧ください。
実行結果
同意データの作成に成功すると、以下のように Base64 エンコードされた同意データが表示されます。 同意時には、このデータを PocketSign Verify API に送信します。

次のステップ
作成した同意データを PocketSign Verify API に送信し、同意を行いましょう。
その他、API の詳しい使い方やエラーの詳細等については、API リファレンスをご覧ください。