Krok 4. Przetestuj integrację

Zanim udostępnisz integrację w środowisku produkcyjnym, sprawdź, czy działa ona od początku do końca w środowisku piaskownicy, używając testowego cyfrowego dokumentu tożsamości, a następnie nagraj film demonstracyjny przedstawiający cały proces. Google sprawdza ten film podczas rejestracji w kroku 5.

Kroki opisane na tej stronie

Podstawowe materiały dotyczące testowania

Obsługiwane dane uwierzytelniające i atrybuty

Sprawdź dokładne identyfikatory doctype_value i ścieżki roszczeń obsługiwane w przypadku mDL, cyfrowych dokumentów tożsamości i dokumentów tożsamości ze zdjęciem.

Obsługiwani wydawcy i certyfikaty IACA

Pobierz certyfikaty główne IACA produkcyjnego wystawcy i certyfikat Utopia Sandbox.

Interaktywne narzędzie do weryfikacji w internecie

Porównaj swoją integrację z hostowanym weryfikatorem referencyjnym OpenWallet Foundation.


Krok A. Sprawdź konfigurację testową piaskownicy

Przed przeprowadzeniem testu kompleksowego upewnij się, że spełniasz te 4 wymagania:

  1. Urządzenie w trybie piaskownicy z testowym dokumentem tożsamości: urządzenie testowe z Androidem jest przełączone w tryb PIASKOWNICY (krok 1) i ma dodany cyfrowy dokument tożsamości Utopia w Portfelu Google (krok 2).
  2. Podpisywanie żądań w środowisku testowym:
    • Strony zależne: serwer podpisuje żądania za pomocą wstępnie zaufanej pary kluczy i metadanych testowych piaskownicy.
    • Rejestratory weryfikatorów: Google potwierdziło, że Twój główny urząd certyfikacji piaskownicy znajduje się w magazynie zaufania piaskownicy, a Twój serwer podpisuje żądania certyfikatem wierzchołka ścieżki powiązanym z Twoim głównym urzędem certyfikacji piaskownicy i zawiera zakodowany w CBOR gw_rp_metadata_bytes (Krok 3.A: specyfikacje VR).
  3. Żądanie zawiera typ dokumentu cyfrowego dokumentu tożsamości: ponieważ testowy identyfikator piaskownicy jest cyfrowym dokumentem tożsamości, Twoja aplikacja dcql_query żąda com.google.wallet.idcard.1 lub org.iso.23220.photoid.1 (lub używa żądania wielu danych uwierzytelniających z kroku 3.A).
  4. Serwer ufa certyfikatowi Utopia Sandbox: magazyn zaufania serwera zawiera certyfikat Utopia Sandbox, dzięki czemu weryfikacja podpisu issuerAuth dla identyfikatora testowego Utopia przebiega pomyślnie.

Krok B. Przetestuj prośbę, wrażenia użytkownika i obsługę błędów

Wykonaj wszystkie podane niżej czynności na każdej obsługiwanej platformie (aplikacja na Androida, internet mobilny i internet na różnych urządzeniach):

  • Widoczny punkt wejścia: wyraźny przycisk (np. „Zweryfikuj za pomocą cyfrowego dokumentu tożsamości”) inicjuje żądanie po kliknięciu przez użytkownika.
  • Aplikacja na Androida (jeśli dotyczy): CredentialManager.getCredential() otwiera selektor danych logowania na Androidzie i wyświetla cyfrowy dokument tożsamości w środowisku testowym.
  • Internet (jeśli dotyczy): navigator.credentials.get() otwiera selektor danych logowania w przeglądarkach mobilnych i wyświetla kod QR na różnych urządzeniach w przeglądarkach na komputerze, gdy używane są podpisane żądania.
  • Ekran zgody Portfela Google: kliknięcie dokumentu tożsamości otwiera Portfel Google i wyświetla oczekiwaną wyświetlaną nazwę, logo i link do polityki prywatności z Twojego gw_rp_metadata_bytes, a także tylko te atrybuty, o które prosisz.
  • Minimalizacja danych: żądane są tylko atrybuty wymagane w Twoim przypadku użycia (patrz Obsługiwane dane uwierzytelniające i atrybuty), a parametr intent_to_retain jest ustawiony dokładnie dla każdego żądania.
  • Anulowanie przez użytkownika i działanie zastępcze: anulowanie arkusza (GetCredentialCancellationException na Androidzie lub odrzucona obietnica w internecie) lub testowanie bez zgodnego identyfikatora (NoCredentialException) jest prawidłowo obsługiwane w interfejsie.

Krok C. Przetestuj odszyfrowywanie po stronie serwera i weryfikację kryptograficzną

Po zatwierdzeniu ekranu zgody w Portfelu Google sprawdź, czy serwer wykonuje wszystkie wymagane testy kryptograficzne:

  • Odszyfrowywanie JWE: serwer odszyfrowuje zwrócony obiekt identityToken za pomocą klucza prywatnego odpowiadającego kluczowi publicznemu szyfrowania client_metadata.jwks i wyodrębnia obiekt vp_token.
  • Rekonstrukcja SessionTranscript: serwer rekonstruuje SessionTranscript za pomocą OpenID4VPDCAPIHandover z dokładnym żądaniem nonce, odciskiem cyfrowym JWK szyfrowania i źródłem platformy (android:apk-key-hash:... lub adresem URL źródła strony).
  • Weryfikacja łańcucha certyfikatów IACA (issuerAuth): serwer wyodrębnia łańcuch certyfikatów wydawcy z issuerAuth i weryfikuje go pod kątem certyfikatu Utopia Sandbox w środowisku piaskownicy oraz pod kątem oficjalnych certyfikatów głównych środowiska produkcyjnego w sekcji Obsługiwani wydawcy i certyfikaty IACA w środowisku produkcyjnym. Nigdy nie pomijaj tego kroku.
  • Weryfikacja MSO, ValueDigests i deviceSignature: serwer weryfikuje podpis obiektu zabezpieczeń mobilnych (MSO), potwierdza, że ValueDigests pasuje do zwróconych elementów danych, i sprawdza deviceSignature (ISO/IEC 18013-5, sekcje 9.1.2 i 9.1.3).
  • Dowody z wiedzą zerową (jeśli są zaimplementowane): jeśli żądasz mso_mdoc_zk, Twój serwer sprawdza zwrócony dowód za pomocą longfellow-zk.

Krok D. Nagraj film z kompletną prezentacją

Gdy integracja przejdzie kroki B i C, nagraj film z nagraniem ekranu, który pokazuje całą ścieżkę użytkownika od aplikacji lub witryny przez zgodę Portfela Google i z powrotem do zweryfikowanego stanu. W tabeli poniżej znajdziesz informacje o tym, co należy uwzględnić w zależności od ścieżki wprowadzenia:

Wymagania dotyczące filmu Strony uzależnione (bezpośrednie) Rejestratorzy weryfikatorów (agregatory)
Ekrany do wyświetlenia Pełna ścieżka użytkownika: ekran wejściowy → selektor danych logowania → zgoda i uwierzytelnianie w Portfelu Google → zweryfikowany wynik w aplikacji lub witrynie. Pełna ścieżka użytkownika w przypadku pierwszej strony zależnej na dalszym etapie.
Przepływy do nagrania proces integracji aplikacji na Androida lub aplikacji internetowej, zarówno procesy hostowane przez weryfikatora (hostowane samodzielnie), jak i hostowane przez sprzedawcę (hostowane przez RP), w zależności od przypadku;
Zasoby związane z marką i wyświetlaniem rzeczywistą wyświetlaną nazwę, logo oraz adresy URL polityki prywatności i warunków korzystania z usługi; rzeczywiste komponenty wyświetlane sprzedawcy (nazwa, logo, adres URL warunków korzystania z usługi) oraz komponenty wyświetlane pośrednika;

Następny krok

Wybierz ścieżkę rejestracji, aby przesłać film i uruchomić go w środowisku produkcyjnym: