API Docs
v6.1.0
  • v6.1.0
  • v5.9.0
ガイドAPI仕様
よくある質問リリースノートお知らせ
ガイドAPI仕様
よくある質問リリースノートお知らせ
v6.1.0
  • v6.1.0
  • v5.9.0
SmartPOST APIドキュメント
v6.1.0
  • v6.1.0
  • v5.9.0
  1. 本人確認API
  • APIの概要
  • システム概要
  • 認証&認可API
    • 概要
    • Authorization
      GET
    • Token
      POST
    • Userinfo
      GET
  • 本人確認API
    • 概要
    • 利用者情報の検証方法
    • Userdata
      GET
  • 電子署名API
    • 概要
    • Signing
      POST
    • SigningRedirect
      POST
    • SigningStatus
      GET
    • Certificate
      GET
  • 本人確認情報更新API
    • 概要
    • Re:Verification
      POST
    • Re:VerificationRedirect
      POST
    • Re:VerificationStatus
      GET
  • 公的個人認証API
    • 概要
    • JPKI
      POST
    • JPKIRedirect
      POST
    • JPKIStatus
      GET
  • マイナポータル向け公的個人認証API
    • 概要
    • JPKIPittari
      POST
    • JPKIPittariRedirect
      POST
  • 利用者証明用証明書シリアルAPI
    • 概要
    • Serial
    • SerialRedirect
  • 券面事項入力補助
    • 概要
    • CardInput
    • CardInputRedirect
    • CardInputStatus
  • マイナンバーAPI
    • 概要
    • MyNumber
    • MyNumberStatus
  1. 本人確認API

利用者情報の検証方法

署名検証について#

Userdata APIのレスポンスに含まれるsignatureとpublic_keyパラメータを使用して、返却された本人確認情報の完全性と真正性を検証することができます。

署名の詳細仕様#

署名アルゴリズム: Ed25519
ハッシュ関数: SHA256
署名フォーマット: Base64エンコードされた署名データ
公開鍵フォーマット: Base64エンコードされた32バイトのEd25519公開鍵

署名対象データ#

署名は利用者の本人確認情報のダイジェスト(ハッシュ値)に対して生成されています。この署名により、APIから返却されたデータが改ざんされていないことを検証できます。

署名検証手順#

1.
レスポンスパラメータの last_name, first_name, public_key, signature 以外の項目をBase64からバイト配列にデコードし、クライアント秘密鍵で復号する。
2.
復号した文字列を連結して署名対象データを作成する。
情報
連結順序は署名が生成された際と同じである必要がありますので、次の順序を参考にしてください。
// 署名対象データの作成
dataToBeSigned := first_name +
last_name +
gender +
sub_char_common_name +
previous_name +
sub_char_previous_name +
year +
month +
date +
prefecture +
city +
address +
sub_char_address
3.
署名対象データのSHA256ハッシュ値(ダイジェスト A)を計算する。
4.
レスポンスの public_key と signature をBase64からバイト配列にデコードする。
5.
デコードしたpublic_keyを用いて、デコードした signature からダイジェスト Bを計算する。
6.
ダイジェストAとダイジェストBが同一であることを比較する。
更新日時 2026-06-26 08:34:42
前へ
概要
次へ
Userdata
Built with