1. v6
xID V6 client APIs
  • Openid
    • Authorization APIの変更点概要
    • Authorization
      GET
    • Token
      POST
    • Userinfo
      GET
  • Reverification
    • Reverification APIの変更点概要
    • v6
      • Re:VerificationStatus
      • Re:Verification
      • Re:VerificationRedirect
  • Serial
    • Serial APIの変更点概要
    • v6
      • Serial
      • SerialRedirect
  • Pittari
    • JPKI Pittari APIの変更点概要
    • v6
      • JPKIPittari
      • JPKIPittariRedirect
  • Verification
    • Verification APIの変更点概要
    • v6
      • 利用者情報の検証方法
      • Userdata
        GET
  • Signing
    • Signing APIの変更点概要
    • v6
      • SigningStatus
      • Certificate
      • SigningRedirect
      • Signing
  • Cardinput
    • Cardinput APIの変更点概要
    • v6
      • CardInputStatus
      • Cardinput
      • CardinputRedirect
  • JPKI
    • JPKI APIの変更点概要
    • v6
      • JPKIStatus
      • JPKIRedirect
      • JPKI
  • PressKits
    • クライアント・メディア向けプレスキット
  1. v6

利用者情報の検証方法

署名検証について#

signatureとpublic_keyフィールドを使用して、返却されたユーザーデータの完全性と真正性を検証することができます。

署名の詳細仕様#

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

署名対象データ#

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

署名検証手順#

1.
Responseの last_name, first_name, public_key, signature 以外の項目をBase64からバイト配列にデコードし、クライアント秘密鍵で複合する。
2.
複合した特定のフィールドの文字列を連結して署名対象データを作成する。
情報
この連結順序は、署名が生成された際と同じである必要があります。
連結順序は、下記を参考にしてください。
// Create data to be signed
    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.
Responseの public_key と signature をBase64からバイト配列にデコードする。
5.
デコードしたpublic_keyを用いて、デコードした signature からダイジェスト Bを計算する。
6.
ダイジェストAとダイジェストBが同一であることを比較する。
7.
検証が成功した場合、データの真正性が確認されます
更新日時 2026-05-11 23:34:22
前へ
Verification APIの変更点概要
次へ
Userdata
Built with