ขั้นตอนที่ 4: ทดสอบการผสานรวม

ก่อนเปิดใช้งานจริง ให้ตรวจสอบว่าการผสานรวมทำงานตั้งแต่ต้นจนจบในแซนด์บ็อกซ์โดยใช้ID พาสทดสอบ จากนั้นบันทึกวิดีโอสาธิตขั้นตอนทั้งหมด Google จะตรวจสอบวิดีโอนี้ในขั้นตอนที่ 5 ของการเริ่มต้นใช้งาน

ขั้นตอนในหน้านี้

ข้อมูลอ้างอิงที่จำเป็นสำหรับการทดสอบ

ข้อมูลเข้าสู่ระบบและแอตทริบิวต์ที่รองรับ

ตรวจสอบตัวระบุ doctype_value ที่แน่นอนและเส้นทางการอ้างสิทธิ์ที่รองรับใน mDL, ID พาส และบัตรประจำตัวที่มีรูปถ่าย

ผู้ออกบัตรและใบรับรอง IACA ที่รองรับ

ดาวน์โหลดใบรับรองรูท IACA ของผู้ออกใบรับรองเวอร์ชันที่ใช้งานจริงและใบรับรอง Utopia Sandbox

เครื่องมือตรวจสอบเว็บแบบอินเทอร์แอกทีฟ

เปรียบเทียบการผสานรวมของคุณกับเครื่องมือตรวจสอบข้อมูลอ้างอิงที่โฮสต์โดย OpenWallet Foundation


ขั้นตอน ก: ยืนยันการตั้งค่าการทดสอบแซนด์บ็อกซ์

ตรวจสอบว่าคุณมีข้อกำหนดเบื้องต้น 4 ข้อต่อไปนี้ก่อนที่จะทำการทดสอบตั้งแต่ต้นจนจบ

  1. อุปกรณ์ในโหมดแซนด์บ็อกซ์ที่มีรหัสทดสอบ: อุปกรณ์ทดสอบ Android เปลี่ยนเป็น SANDBOX (ขั้นตอนที่ 1) และมีID พาส Utopia เพิ่มใน Google Wallet (ขั้นตอนที่ 2)
  2. การลงชื่อคำขอในแซนด์บ็อกซ์:
  3. คำขอมีประเภทเอกสารบัตรประจำตัว: เนื่องจากรหัสทดสอบแซนด์บ็อกซ์เป็นบัตรประจำตัว dcql_query ของคุณจึงส่งคำขอ com.google.wallet.idcard.1 หรือ org.iso.23220.photoid.1 (หรือใช้คำขอเอกสารรับรองหลายรายการจากขั้นตอนที่ 3.ก)
  4. เซิร์ฟเวอร์เชื่อถือใบรับรอง Utopia Sandbox: Trust Store ของเซิร์ฟเวอร์มีใบรับรอง Utopia Sandbox ดังนั้นการยืนยันลายเซ็น issuerAuth จึงสำเร็จสำหรับรหัสทดสอบ Utopia

ขั้นตอนที่ 2: ทดสอบคำขอ ประสบการณ์ของผู้ใช้ และการจัดการข้อผิดพลาด

ตรวจสอบแต่ละรายการต่อไปนี้ในทุกแพลตฟอร์มที่คุณรองรับ (แอป Android, เว็บบนมือถือ และเว็บข้ามอุปกรณ์บนเดสก์ท็อป)

  • จุดแรกเข้าที่มองเห็นได้: ปุ่มที่ชัดเจน (เช่น "ยืนยันด้วยบัตรประจำตัวดิจิทัล") จะเริ่มคำขอเมื่อผู้ใช้แตะ/คลิก
  • แอป Android (หากมี): CredentialManager.getCredential() จะเปิดตัวเลือกข้อมูลเข้าสู่ระบบ Android และแสดง ID พาสทดสอบในแซนด์บ็อกซ์
  • เว็บ (หากมี): navigator.credentials.get() จะเปิดตัวเลือกข้อมูลเข้าสู่ระบบในเบราว์เซอร์บนมือถือ และแสดงคิวอาร์โค้ดข้ามอุปกรณ์ในเบราว์เซอร์ในเดสก์ท็อปเมื่อใช้คำขอที่ลงชื่อ
  • หน้าจอขอความยินยอมของ Google Wallet: การแตะข้อมูลเข้าสู่ระบบจะเปิด Google Wallet และแสดงชื่อที่แสดง โลโก้ และลิงก์นโยบายความเป็นส่วนตัวที่คาดไว้จาก gw_rp_metadata_bytes พร้อมกับแอตทริบิวต์ที่คุณขอเท่านั้น
  • การลดปริมาณข้อมูล: ระบบจะขอเฉพาะแอตทริบิวต์ที่จำเป็นสำหรับกรณีการใช้งานของคุณ (ดูข้อมูลเข้าสู่ระบบและแอตทริบิวต์ที่รองรับ) และตั้งค่า intent_to_retain อย่างถูกต้องสำหรับการอ้างสิทธิ์แต่ละรายการ
  • การยกเลิกของผู้ใช้และโหมดสำรอง: การยกเลิกชีต (GetCredentialCancellationException ใน Android หรือสัญญาที่ถูกปฏิเสธในเว็บ) หรือการทดสอบโดยไม่มีรหัสที่ตรงกัน (NoCredentialException) ได้รับการจัดการอย่างราบรื่นใน UI ของคุณ

ขั้นตอนที่ 3: ทดสอบการถอดรหัสฝั่งเซิร์ฟเวอร์และการตรวจสอบความถูกต้องของการเข้ารหัสลับ

หลังจากอนุมัติหน้าจอขอความยินยอมใน Google Wallet แล้ว ให้ยืนยันว่าเซิร์ฟเวอร์ของคุณทำการตรวจสอบการเข้ารหัสที่จำเป็นทั้งหมด ดังนี้

  • การถอดรหัส JWE: เซิร์ฟเวอร์ของคุณจะถอดรหัส identityToken ที่ส่งกลับมาโดยใช้คีย์ส่วนตัวที่สอดคล้องกับคีย์สาธารณะสำหรับการเข้ารหัส client_metadata.jwks และดึงข้อมูล vp_token ออกมา
  • การสร้าง SessionTranscript ขึ้นใหม่: เซิร์ฟเวอร์จะสร้าง SessionTranscript ขึ้นใหม่โดยใช้ OpenID4VPDCAPIHandover ที่มีคำขอ nonce, Thumbprint ของ JWK สำหรับการเข้ารหัส และต้นทางของแพลตฟอร์ม (android:apk-key-hash:... หรือ URL ต้นทางเว็บ) ที่ตรงกันทุกประการ
  • การตรวจสอบความถูกต้องของเชนใบรับรอง IACA (issuerAuth): เซิร์ฟเวอร์จะดึงเชนใบรับรองของผู้ออกใบรับรองจาก issuerAuth และตรวจสอบความถูกต้องกับใบรับรอง Utopia Sandbox ในแซนด์บ็อกซ์ และกับใบรับรองรูทเวอร์ชันที่ใช้งานจริงอย่างเป็นทางการในผู้ออกใบรับรองและใบรับรอง IACA ที่รองรับสำหรับเวอร์ชันที่ใช้งานจริง อย่าข้ามการตรวจสอบนี้
  • การยืนยัน MSO, ValueDigests และ deviceSignature: เซิร์ฟเวอร์จะยืนยันลายเซ็น Mobile Security Object (MSO) ยืนยันว่า ValueDigests ตรงกับองค์ประกอบข้อมูลที่แสดงผล และตรวจสอบ deviceSignature (ISO/IEC 18013-5 ส่วนที่ 9.1.2 และ 9.1.3)
  • Zero-Knowledge Proof (หากใช้): หากขอ mso_mdoc_zk เซิร์ฟเวอร์ของคุณจะตรวจสอบหลักฐานที่แสดงผลโดยใช้ longfellow-zk

ขั้นตอนที่ ง: บันทึกวิดีโอสาธิตตั้งแต่ต้นจนจบ

เมื่อการผสานรวมผ่านขั้นตอน B และ C แล้ว ให้บันทึกวิดีโอการจับภาพหน้าจอที่แสดงเส้นทางของผู้ใช้ทั้งหมดจากแอปหรือเว็บไซต์ของคุณผ่านความยินยอมของ Google Wallet และกลับไปยังสถานะที่ยืนยันแล้ว ตารางต่อไปนี้แสดงสิ่งที่ต้องระบุตามเส้นทางการเริ่มต้นใช้งาน

ข้อกำหนดเกี่ยวกับวิดีโอ ฝ่ายที่อาศัยข้อมูล (โดยตรง) ผู้รับจดทะเบียนที่ทำหน้าที่เป็นผู้ยืนยัน (ผู้รวบรวมข้อมูล)
หน้าจอที่จะแสดง เส้นทางของผู้ใช้แบบเต็ม: หน้าจอเข้าสู่ระบบ → ตัวเลือกข้อมูลเข้าสู่ระบบ → ความยินยอมและการตรวจสอบสิทธิ์ของ Google Wallet → ผลลัพธ์ที่ได้รับการยืนยันในแอปหรือเว็บไซต์ เส้นทางของผู้ใช้แบบเต็มสำหรับฝ่ายที่ต้องอาศัย (รายแรก) ปลายทางเริ่มต้น
โฟลวที่จะบันทึก ขั้นตอนการผสานรวมแอป Android และ/หรือเว็บ ทั้งขั้นตอนที่โฮสต์โดยผู้ตรวจสอบ (โฮสต์เอง) และโฮสต์โดยผู้ขาย (โฮสต์โดย RP) ตามความเหมาะสม
ชิ้นงานการสร้างแบรนด์และ Display ชื่อที่แสดงจริง โลโก้ และ URL ของนโยบายความเป็นส่วนตัว / ข้อกำหนดในการให้บริการ ชิ้นงานที่แสดงของผู้ขายจริง (ชื่อ โลโก้ URL ของข้อกำหนดในการให้บริการ) และชิ้นงานที่แสดงของผู้รวบรวมข้อมูล

ขั้นตอนถัดไป

เลือกเส้นทางการเริ่มต้นใช้งานเพื่อส่งวิดีโอและเปิดตัวในเวอร์ชันที่ใช้งานจริง