שלב 4: בודקים את השילוב

לפני שאתם עוברים לסביבת הייצור, ודאו שהשילוב פועל מקצה לקצה בסביבת ה-Sandbox באמצעות מסמכי הזיהוי לבדיקה, ואז הקליטו סרטון הדגמה של התהליך המלא. ‫Google בודקת את הסרטון הזה במהלך תהליך ההצטרפות בשלב 5.

השלבים בדף הזה

מקורות מידע חיוניים לבדיקות

אישורים ומאפיינים נתמכים

בודקים את המזהים המדויקים של doctype_value ואת נתיבי ההצהרה שנתמכים ברישיונות נהיגה בנייד, במסמכי זיהוי ובתעודות מזהות עם תמונה.

מוסדות מנפיקים נתמכים ואישורי IACA

מורידים את אישורי הבסיס של IACA של המנפיק בסביבת הייצור ואת האישור של Utopia Sandbox.

כלי אינטראקטיבי לאימות אתרים

משווים את השילוב שלכם מול מאמת ההפניות שמתארח ב-OpenWallet Foundation.


שלב א': מוודאים שהגדרת הבדיקה בארגז החול תקינה

לפני שמריצים את הבדיקה מקצה לקצה, צריך לוודא שארבע הדרישות המוקדמות הבאות מתקיימות:

  1. מכשיר במצב ארגז חול עם מזהה בדיקה: מכשיר הבדיקה שלכם עם Android מועבר למצב SANDBOX (שלב 1) ונוספו לו מסמכי זיהוי של Utopia ב-Google Wallet (שלב 2).
  2. חתימה על בקשות בארגז חול (sandbox):
    • גורמים מסתמכים: השרת שלכם חותם על בקשות חתומות באמצעות זוג המפתחות והמטא-נתונים לבדיקה בארגז החול, שמהימנים מראש.
    • רשמי אימות: Google אישרה שרשות אישורי הבסיס שלכם לארגז החול נמצאת במאגר האישורים של ארגז החול, ושהשרת שלכם חותם על בקשות חתומות באמצעות אישור קצה שמקושר לרשות אישורי הבסיס שלכם לארגז החול וכולל את ה-gw_rp_metadata_bytes בקידוד CBOR (שלב 3א: מפרטי VR).
  3. הבקשה כוללת סוג מסמך של מסמכי זיהוי: מכיוון שמזהה הבדיקה של ארגז החול הוא מסמך זיהוי, האפליקציה dcql_query מבקשת את com.google.wallet.idcard.1 או את org.iso.23220.photoid.1 (או משתמשת בבקשה לכמה מסמכי זיהוי משלב 3.א').
  4. השרת נותן אמון באישור של Utopia Sandbox: מאגר האישורים של השרת כולל את האישור של Utopia Sandbox, ולכן אימות החתימה של issuerAuth מצליח במזהה הבדיקה של Utopia.

שלב ב': בודקים את הבקשה, את חוויית המשתמש ואת הטיפול בשגיאות

מבצעים את כל הבדיקות הבאות בכל פלטפורמה שבה אתם תומכים (אפליקציה ל-Android, אינטרנט לנייד ואינטרנט חוצה-מכשירים למחשב):

  • נקודת כניסה גלויה: כפתור ברור (כמו "אימות באמצעות תעודה מזהה דיגיטלית") שמתחיל את הבקשה כשהמשתמש לוחץ עליו.
  • אפליקציה ל-Android (אם רלוונטי): CredentialManager.getCredential() פותחת את בורר פרטי הכניסה ב-Android ומציגה את מסמכי הזיהוי לבדיקה בארגז החול.
  • אינטרנט (אם רלוונטי): navigator.credentials.get() פותח את בורר פרטי הכניסה בדפדפנים בנייד, ומציג את קוד ה-QR בין מכשירים בדפדפנים במחשב כשמשתמשים בבקשות חתומות.
  • מסך ההסכמה של Google Wallet: לחיצה על פרטי הכניסה פותחת את Google Wallet ומציגה את השם המוצג, הלוגו והקישור למדיניות הפרטיות של gw_rp_metadata_bytes, יחד עם המאפיינים שביקשת בלבד.
  • הגבלה על איסוף המידע: המערכת מבקשת רק את המאפיינים שנדרשים לתרחיש שימוש (ראו אישורים ומאפיינים נתמכים), והערך של intent_to_retain מוגדר בצורה מדויקת לכל הצהרה.
  • ביטול על ידי המשתמש וחלופות: ביטול הגיליון (GetCredentialCancellationException ב-Android או הבטחה שנדחתה באינטרנט) או בדיקה ללא מזהה תואם (NoCredentialException) מטופלים בצורה חלקה בממשק המשתמש.

שלב ג': בדיקת הפענוח בצד השרת והאימות הקריפטוגרפי

אחרי שמאשרים את מסך ההסכמה ב-Google Wallet, מוודאים שהשרת מבצע את כל הבדיקות הקריפטוגרפיות הנדרשות:

  • פענוח JWE: השרת שלכם מפענח את ה-identityToken שהוחזר באמצעות המפתח הפרטי שתואם למפתח ההצפנה הציבורי client_metadata.jwks, ומחלץ את ה-vp_token.
  • שחזור SessionTranscript: השרת משחזר את SessionTranscript באמצעות OpenID4VPDCAPIHandover עם nonce המדויק של הבקשה, טביעת האצבע של JWK להצפנה ומקור הפלטפורמה (android:apk-key-hash:... או כתובת ה-URL המקורית באינטרנט).
  • אימות שרשרת האישורים של IACA‏ (issuerAuth): השרת שלכם מחלץ את שרשרת האישורים של המנפיק מ-issuerAuth ומאמת אותה מול האישור של Utopia Sandbox בארגז החול, ומול אישורי הבסיס הרשמיים של סביבת הייצור במנפיקים נתמכים ואישורי IACA לסביבת הייצור. אף פעם אל תדלגו על הבדיקה הזו.
  • אימות של MSO,‏ ValueDigests ו-deviceSignature: השרת מאמת את החתימה של אובייקט האבטחה לנייד (MSO), מוודא ש-ValueDigests תואם לרכיבי הנתונים שהוחזרו ומאמת את deviceSignature (סעיפים 9.1.2 ו-9.1.3 בתקן ISO/IEC 18013-5).
  • הוכחות באפס ידיעה (אם הוטמעו): אם מבקשים את mso_mdoc_zk, השרת מאמת את ההוכחה שהוחזרה באמצעות longfellow-zk.

שלב ד': מצלמים סרטון הדגמה מקצה לקצה

אחרי שהשילוב יעבור את שלבים ב' וג', צריך להקליט סרטון של צילום מסך שמדגים את התהליך שעובר המשתמש מהאפליקציה או מהאתר שלכם, דרך ההסכמה ב-Google Wallet ובחזרה למצב המאומת. בטבלה הבאה מפורט מה צריך לכלול בהתאם למסלול ההצטרפות:

דרישות לגבי הסרטונים גורמים מסתמכים (ישירים) רשמים מאמתים (אתרי אגרגטור)
מסכים להצגה התהליך המלא שעובר המשתמש: מסך כניסה ← בחירת פרטי כניסה ← הסכמה ואימות ב-Google Wallet ← תוצאה מאומתת באפליקציה או באתר שלכם התהליך המלא שעובר המשתמש בצד המסתמך (RP) הראשוני (הראשון) במורד הזרם
תהליכים שצריך לתעד תהליך השילוב של אפליקציית Android או האתר תהליכים באירוח של הגורם המאמת (אירוח עצמי) ובאירוח של המוכר (אירוח של הגורם המסתמך), לפי הצורך
מיתוג ונכסי תצוגה השם המוצג, הלוגו וכתובות ה-URL של מדיניות הפרטיות והתנאים וההגבלות בפועל נכסי התצוגה של המוכר בפועל (שם, לוגו, כתובת URL של התנאים וההגבלות) וגם נכסי התצוגה של האתר שלכם

השלב הבא

כדי לשלוח את הסרטון ולהשיק אותו בסביבת הייצור, צריך לבחור את מסלול ההצטרפות: