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.
Wybierz ścieżkę RP, Verifier Registrar lub stacjonarnie
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:
- 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).
- 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).
- Żądanie zawiera typ dokumentu cyfrowego dokumentu tożsamości: ponieważ testowy identyfikator piaskownicy jest cyfrowym dokumentem tożsamości, Twoja aplikacja
dcql_queryżądacom.google.wallet.idcard.1luborg.iso.23220.photoid.1(lub używa żądania wielu danych uwierzytelniających z kroku 3.A). - Serwer ufa certyfikatowi Utopia Sandbox: magazyn zaufania serwera zawiera certyfikat Utopia Sandbox, dzięki czemu weryfikacja podpisu
issuerAuthdla 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_retainjest ustawiony dokładnie dla każdego żądania. - Anulowanie przez użytkownika i działanie zastępcze: anulowanie arkusza (
GetCredentialCancellationExceptionna 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
identityTokenza pomocą klucza prywatnego odpowiadającego kluczowi publicznemu szyfrowaniaclient_metadata.jwksi wyodrębnia obiektvp_token. - Rekonstrukcja
SessionTranscript: serwer rekonstruujeSessionTranscriptza pomocąOpenID4VPDCAPIHandoverz dokładnym żądaniemnonce, 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 zissuerAuthi 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,
ValueDigestsideviceSignature: serwer weryfikuje podpis obiektu zabezpieczeń mobilnych (MSO), potwierdza, żeValueDigestspasuje do zwróconych elementów danych, i sprawdzadeviceSignature(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: