Bước 4: Kiểm tra quá trình tích hợp

Trước khi phát hành chính thức, hãy xác minh rằng quy trình tích hợp của bạn hoạt động từ đầu đến cuối trong hộp cát bằng cách sử dụng giấy tờ tuỳ thân điện tử thử nghiệm, sau đó quay video minh hoạ toàn bộ quy trình. Google sẽ xem xét video này trong quá trình làm quen ở Bước 5.

Các bước trên trang này

Tài liệu tham khảo cần thiết về kiểm thử

Chứng chỉ và thuộc tính được hỗ trợ

Kiểm tra chính xác các giá trị nhận dạng doctype_value và đường dẫn xác nhận quyền sở hữu được hỗ trợ trên mDL, giấy tờ tuỳ thân điện tử và giấy tờ tuỳ thân có ảnh.

Nhà phát hành được hỗ trợ và chứng chỉ IACA

Tải chứng chỉ gốc IACA của tổ chức phát hành chính thức và chứng chỉ Utopia Sandbox xuống.

Công cụ xác minh web tương tác

So sánh trực tiếp quá trình tích hợp của bạn với trình xác minh tham chiếu được lưu trữ của OpenWallet Foundation.


Bước A: Xác minh chế độ thiết lập thử nghiệm hộp cát

Xác nhận rằng bạn đã đáp ứng 4 điều kiện tiên quyết sau đây trước khi chạy thử nghiệm toàn diện:

  1. Thiết bị ở chế độ hộp cát có giấy tờ tuỳ thân điện tử thử nghiệm: Thiết bị Android thử nghiệm của bạn được chuyển sang chế độ HỘP CÁT (Bước 1) và có giấy tờ tuỳ thân điện tử Utopia được thêm vào Google Wallet (Bước 2).
  2. Ký yêu cầu hộp cát:
    • Bên Relying Party: Máy chủ của bạn ký các yêu cầu bằng Cặp khoá và siêu dữ liệu thử nghiệm trong Hộp cát được tin cậy trước.
    • Nhà đăng ký xác minh: Google đã xác nhận rằng CA gốc trong hộp cát của bạn nằm trong kho lưu trữ uy tín của hộp cát, đồng thời máy chủ của bạn ký các yêu cầu bằng một chứng chỉ lá được liên kết với CA gốc trong hộp cát và bao gồm gw_rp_metadata_bytes được mã hoá CBOR (Bước 3.A: Thông số kỹ thuật của VR).
  3. Yêu cầu bao gồm loại tài liệu giấy tờ tuỳ thân điện tử: Vì giấy tờ tuỳ thân thử nghiệm trong hộp cát là giấy tờ tuỳ thân điện tử, nên dcql_query của bạn yêu cầu com.google.wallet.idcard.1 hoặc org.iso.23220.photoid.1 (hoặc sử dụng yêu cầu nhiều thông tin xác thực từ Bước 3.A).
  4. Máy chủ tin tưởng chứng chỉ Utopia Sandbox: Kho lưu trữ uy tín của máy chủ bao gồm chứng chỉ Utopia Sandbox, nên quá trình xác minh chữ ký issuerAuth thành công cho mã nhận dạng thử nghiệm Utopia.

Bước B: Kiểm thử yêu cầu, trải nghiệm người dùng và cách xử lý lỗi

Thực hiện từng bước kiểm tra sau đây trên mọi nền tảng mà bạn hỗ trợ (ứng dụng Android, web dành cho thiết bị di động và web dành cho nhiều thiết bị trên máy tính):

  • Điểm truy cập rõ ràng: Một nút rõ ràng (chẳng hạn như "Xác minh bằng giấy tờ tuỳ thân điện tử") sẽ bắt đầu yêu cầu khi người dùng nhấn/nhấp vào.
  • Ứng dụng Android (nếu có): CredentialManager.getCredential() mở bộ chọn thông tin xác thực Android và hiển thị giấy tờ tuỳ thân điện tử thử nghiệm trong hộp cát.
  • Web (nếu có): navigator.credentials.get() mở bộ chọn thông tin xác thực trên trình duyệt di động và hiển thị mã QR trên nhiều thiết bị trên trình duyệt dành cho máy tính khi sử dụng Yêu cầu đã ký.
  • Màn hình xin phép của Google Wallet: Khi người dùng nhấn vào thông tin xác thực, Google Wallet sẽ mở ra và hiển thị tên hiển thị, biểu trưng và đường liên kết đến chính sách quyền riêng tư dự kiến từ gw_rp_metadata_bytes của bạn, cùng với chỉ những thuộc tính mà bạn yêu cầu.
  • Giảm tối đa việc thu thập dữ liệu: Chỉ yêu cầu các thuộc tính cần thiết cho trường hợp sử dụng của bạn (xem phần Thông tin xác thực và thuộc tính được hỗ trợ) và intent_to_retain được đặt chính xác cho mỗi thông tin xác nhận.
  • Người dùng huỷ và phương án dự phòng: Việc huỷ trang tính (GetCredentialCancellationException trên Android hoặc lời hứa bị từ chối trên Web) hoặc kiểm thử mà không có mã nhận dạng để so khớp phù hợp (NoCredentialException) được xử lý linh hoạt trong giao diện người dùng.

Bước C: Kiểm tra tính năng giải mã phía máy chủ và xác thực mật mã

Sau khi phê duyệt màn hình xin phép trong Google Wallet, hãy xác minh rằng máy chủ của bạn thực hiện tất cả các bước kiểm tra mật mã bắt buộc:

  • Giải mã JWE: Máy chủ của bạn giải mã identityToken được trả về bằng cách sử dụng khoá riêng tư tương ứng với khoá công khai mã hoá client_metadata.jwks và trích xuất vp_token.
  • Tái cấu trúc SessionTranscript: Máy chủ của bạn tái cấu trúc SessionTranscript bằng cách sử dụng OpenID4VPDCAPIHandover với nonce yêu cầu chính xác, dấu vân tay JWK mã hoá và nguồn gốc nền tảng (android:apk-key-hash:... hoặc URL gốc của web).
  • Xác thực chuỗi chứng chỉ IACA (issuerAuth): Máy chủ của bạn trích xuất chuỗi chứng chỉ của tổ chức phát hành từ issuerAuth và xác thực chuỗi chứng chỉ đó dựa trên chứng chỉ Utopia Sandbox trong hộp cát, cũng như dựa trên chứng chỉ gốc chính thức trong môi trường thực tế trong phần Tổ chức phát hành và chứng chỉ IACA được hỗ trợ cho môi trường thực tế. Đừng bao giờ bỏ qua bước kiểm tra này.
  • Xác minh MSO, ValueDigests và deviceSignature: Máy chủ của bạn xác minh chữ ký của Đối tượng bảo mật di động (MSO), xác nhận ValueDigests khớp với các phần tử dữ liệu được trả về và xác thực deviceSignature (ISO/IEC 18013-5 mục 9.1.2 và 9.1.3).
  • Bằng chứng không kiến thức (nếu được triển khai): Nếu yêu cầu mso_mdoc_zk, máy chủ của bạn sẽ xác thực bằng chứng được trả về bằng longfellow-zk.

Bước D: Quay video minh hoạ từ đầu đến cuối

Sau khi quá trình tích hợp của bạn vượt qua Bước B và C, hãy quay video màn hình thể hiện toàn bộ hành trình của người dùng từ ứng dụng hoặc trang web của bạn thông qua sự đồng ý của Google Wallet và quay lại trạng thái đã xác minh. Bảng sau đây cho biết những thông tin cần cung cấp dựa trên lộ trình tham gia của bạn:

Yêu cầu đối với video Bên Relying Party (Trực tiếp) Nhà đăng ký xác minh (Trang web tổng hợp)
Màn hình cần hiển thị Toàn bộ hành trình của người dùng: màn hình truy cập → bộ chọn thông tin xác thực → sự đồng ý và xác thực của Google Wallet → kết quả đã xác minh trong ứng dụng hoặc trang web của bạn Toàn bộ hành trình của người dùng cho Bên tin cậy hạ nguồn ban đầu (thứ nhất)
Quy trình cần ghi lại Quy trình tích hợp ứng dụng Android và/hoặc web Cả quy trình do bên xác minh lưu trữ (tự lưu trữ) và do người bán lưu trữ (do bên xác thực lưu trữ), nếu có
Thành phần thương hiệu và thành phần hiển thị Tên hiển thị, biểu trưng và URL chính sách quyền riêng tư / Điều khoản dịch vụ thực tế của bạn Thành phần hiển thị thực tế của người bán (tên, biểu trưng, URL Điều khoản dịch vụ) và thành phần hiển thị của đơn vị tập hợp

Bước tiếp theo

Chọn lộ trình làm quen để gửi video và ra mắt trong môi trường thực tế: