Test Plans

The purpose of the test plans is to support implementers, auditors, and conformance test environments in validating the behavior of the Wallet Solutions, Relying Parties and Credential Issuers under various operational and security scenarios.

All test cases are derived from normative rules defined in the above specifications, with no assumptions or extensions.

Note

Please note that the test plans matrix may be subject to future changes.

Structure of the Test Matrix

Each test case is identified by a unique test ID (e.g., WS-001) and categorized using the functional domains defined below. Other category identifiers can be used as well.

  • Discovery

  • Security

  • Authorization

  • Authentication

  • User Interaction

  • User Notification

  • Credential Issuance

  • Proof of Possession

  • Attestation Evaluation

  • Credential Presentation

  • Credential Status

  • Backup & Restore

For each test case, the table specifies:

  • Test Case: a unique identifier.

  • Category: the functional area covered by the test.

  • Description: the requirement being tested, always based on a normative MUST from the specification.

  • Expected Result: the expected outcome when the solution is implemented correctly.

Signed Statements Evaluation Test Matrix

This section provides the common set of test cases for Wallet Solutions, Relying Parties and Credential Issuers evaluating any signed statements, be these assertions, requests, attestation or credentials.

Test Case

Category

Description

Expected Result

ATT-001

Discovery, Security

Evaluation of the issuer

Entities evaluating signed statements establish trust with the issuer and assess its compliance. Undiscoverable Issuers within the federation or unlinkable to any known Trust Anchor, halt any protocol communications.

ATT-002

Discovery, Security

Evaluation of the signature

Entities evaluate signed statements by verifying the signature with the issuer's cryptographic material, provided it is trusted through a well-known Trust Anchor. Any untrusted cryptographic material or invalid signatures halt protocol communications.

ATT-003

Algorithm Verification

Verify that the algorithm specified in the header matches the one used for cryptographic operations.

The algorithm in the header must match the cryptographic operation.

ATT-004

Appropriate Algorithms

Ensure only cryptographically current algorithms are used.

Only approved algorithms are accepted; deprecated ones are rejected.

ATT-005

Signature Validation

Validate all cryptographic operations and reject if any fail.

All signatures must be valid; any failure results in rejection.

ATT-006

Key Entropy

Ensure cryptographic keys have sufficient entropy.

Keys must meet entropy requirements; weak keys are rejected.

ATT-007

Issuer Validation

Validate that the cryptographic keys belong to the issuer.

Keys must be verified as belonging to the issuer.

ATT-008

Audience Validation

Validate the audience claim to ensure the token is used by the intended party.

Audience claim must match the intended recipient.

ATT-009

Claim Trust

Do not trust received claims without validation.

Claims must be validated; untrusted claims are rejected.

ATT-010

Explicit Typing

Use explicit typing to prevent COSE/JOSE confusion.

Typing must be explicit and validated.

ATT-011

Cross-JWT Confusion

Prevent COSE/JOSE from being used in unintended contexts.

COSE/JOSE must be contextually validated to prevent misuse.

ATT-012

Substitution Attacks

Ensure COSE/JOSE are not substituted across different contexts.

COSE/JOSE must be validated for context-specific use.

ATT-013

Issued At Validation

Verify that the issued at parameter is set to the current time, allowing a grace period not exceeding 120 seconds.

The issued at value must be within 120 seconds of the current time.

ATT-014

Expiration Validation

Ensure the expiration time is greater than the issued at time.

The expiration time must be later than the issued at time.

ATT-015

Data model validation

Ensure JOSE/COSE type matches with the defined data model.

The parameters or claims, their values and the schema used to represent them are compliant with the data model.

Trust Evaluation Test Matrix

This section provides the common set of test cases for Wallet Solutions, Relying Parties and Credential Issuers.

Test Case

Category

Description

Expected Result

ALL-001

Security

Obtaining Trust Anchors public cryptographic materials

Entities obtain the list of Trust Anchors or Certificate Authorities and their public cryptographic key materials, periodically ensuring that these are not expired, revoked or updated. Infrastructure of Trust provides these information through web endpoints and other out of band mechanisms, to facilitate comparison of the provided information to all the entities.

ALL-002

Security

Compliance self evaluation

Entities periodically evaluate their compliance and presence within the federation, checking the trust chain about themselves as still valid, not revoked and compliant with the tecnhical specification. Entities apply the policies, checking that their current configuration is valid with the active policies about them within the federation. Trust chain, evaluated and stored in mutiple formats to facilitate interoperability in trust discovery with other entities, are stored by entities and used on occurrence during the data exchange flows. Trust chain about entities are fetched or discovered using the entitie's issued assertions.

ALL-003

Discovery

Publication of information about itself

Entities sign and publish all the information about them, containing all the protocol metadata, cryptographic material, trust marks, using the well-known endpoint defined in this specification, making these information publicly discoverable by other entities.

ALL-004

Security

Publication of the historical key registry

Entities sign and publish all the information about the unused or revoked cryptographic material using well known endpoints defined in this specification, making these information publicly discoverable by other entities.

ALL-005

Security

Evaluation of compliance with entities before exchanging data about the User

Entities evaluate trust and compliance with other entities before any information related to a natural or legal person might be exchanged. Bogus configurations don't allow data exchanges.

ALL-006

Security

Evaluation of proof of possession during the use of a signed assertion in according to the configured usage ownership confirmation method.

Entities evaluate the confirmation method and apply its protocol to consider valid the signed statement.

ALL-007

Security

Supported cryptography algorithms

Entities evaluate cryptography using in compliance of the allowed algorithms.

ALL-008

Security

Replay attacks

Signed statements using unique identifiers are stored until their expiration time and checked against any replay of them.

Wallet Solution Test Matrix

This section provides the set of test cases for verifying conformance of a Wallet Solution implementation to the technical rules defined in the IT-Wallet ecosystem. The test plan is based on the mandatory requirements (MUST statements) extracted from the following documents:

  • Wallet Solution

  • Wallet Instance Revocation

  • Wallet Attestation Issuance

  • Backup and Restore

Test Case

Category

Description

Expected Result

WS-001

Wallet Initialization

The Wallet Solution MUST ensure that each Wallet Instance is generated according to the specifications and includes a unique identifier, and cryptographic keys bound to a secure element.

A compliant Wallet Instance is generated with correct identifiers and secure bindings.

WS-002

User Interaction

The Wallet Solution MUST request and obtain explicit User Consent during Wallet Instance initialization.

The Wallet Instance is activated only after obtaining verifiable User Consent.

WS-003

Security

The Wallet Solution MUST store private keys within a Secure Hardware Element or equivalent secure storage.

All private key materials are inaccessible from the operating system or any application outside the Wallet Solution.

WS-004

Attestation

The Wallet MUST be capable of generating and presenting a Wallet Attestation when required by Relying Parties or Issuers.

Valid, verifiable Attestations are generated including integrity and origin proofs.

WS-005

Attestation

The Wallet MUST support processing Wallet Attestation Requests and generating appropriate responses in compliance with eIDAS.

The Wallet correctly interprets and fulfills attestation requests including subject data and cryptographic signatures.

WS-006

Remote Credential Presentation

The Wallet Solution MUST implement both the proximity and remote presentation flow, ensuring Verifiable Credential selection, integrity, and User interaction.

Verifiable Credential presentation is successful, correct, and under User control.

WS-007

Credential Issuance

The Wallet MUST support the Issuer flow for receiving and storing Verifiable Credentials.

Credentials are securely stored and correctly parsed as per defined structure.

WS-008

Revocation

The Wallet MUST allow the User to trigger a Wallet Instance Revocation at any time.

Revocation is executed and cryptographic material is securely deleted or rendered unusable.

WS-009

Revocation

Upon Wallet Instance Revocation, the Wallet Solution MUST notify the relevant backend systems to propagate revocation.

Revocation status is reflected in all ecosystem components (e.g., Issuers, Verifiers).

WS-010

Backup & Restore

The Wallet MUST support encrypted Backup and Restore operations in compliance with privacy and integrity requirements.

Backup is encrypted and tied to the User; Restore operation verifies integrity and User authenticity before recovery.

WS-011

Backup & Restore

The Wallet MUST manage backup encryption keys securely and derive them from User-controlled secrets or credentials.

No unauthorized entity can decrypt backups; backups are rendered useless if tampered with.

WS-012

Backup & Restore

The Wallet MUST authenticate the User before allowing Restore.

Successful Restore only occurs upon verified User authentication using approved methods (e.g., biometrics, PIN, cryptographic challenge).

WS-013

Attestation

The Wallet MUST detect expired Attestations and support refresh workflows.

Expired Attestations are not used; refresh is triggered automatically or via User prompt.

WS-014

Compliance

All operations including Issuance, Presentation, Attestation, and Revocation MUST comply with the European standards.

Auditable trace of compliant operations is maintained; no deviation from eIDAS 2.0 behavior is observed.

WS-015

User Interaction

The Wallet MUST operate under the principle of User control and data minimization.

Only explicitly consented and required data is used and transmitted; all operations require explicit User actions.

WS-016

Credential Presentation

The Wallet MUST support offline Verifiable Credential presentation when allowed.

Credentials are presented securely even in offline mode, with integrity and authenticity maintained.

WS-017

Security

The Wallet MUST ensure anti-replay protections during credential presentation.

Each presentation is cryptographically unique and bound to the Verifier request.

WS-018

Revocation

The Wallet MUST log and make auditable the revocation process of Wallet Instances.

Complete, tamper-evident logs are available for inspection upon request.

WS-019

Security

The Wallet MUST establish mutually authenticated and encrypted channels during all interactions.

All messages are protected against interception, modification, or impersonation.

WS-020

Security

The Wallet MUST lock itself and/or revoke the Wallet Instance upon detection of tampering.

Wallet becomes inoperable and revocation is triggered if tampering is confirmed.

WS-021

Security

The Wallet MUST perform Device Attestation using platform-specific mechanisms such as Play Integrity (Android) or DC App Attest (iOS) during Wallet Instance creation.

Device Attestation is successful and results are included in the Wallet Attestation payload.

WS-022

Attestation

The Wallet Attestation MUST include a signature using the Wallet Binding Key, and the certificate chain MUST be verifiable to a trusted root.

Signature is present, valid, and verifiable using the provided certificate chain.

WS-023

Attestation

The Wallet MUST include a Device Attestation result in the Wallet Attestation structure.

A valid Device Attestation object (Play Integrity or DC App Attest result) is embedded in the Attestation.

WS-024

Backup & Restore

During Restore, the Wallet MUST validate the integrity of the encrypted backup file using an integrity check mechanism.

The Wallet refuses to restore a tampered or corrupted backup file.

WS-025

Revocation

In case of Wallet Instance Revocation, the Wallet MUST delete any locally stored Verifiable Credentials.

No credential data remains accessible after revocation is triggered.

WS-026

Revocation

The Wallet MUST notify the Wallet Backend with a Revocation Request that includes a valid proof of possession of the Wallet Binding Key.

The Revocation Request is accepted and revocation status is updated in the backend.

WS-027

Security

The Wallet MUST prevent reuse of revoked Wallet Binding Keys or credentials in future Wallet Instances.

Any reuse attempt is detected and blocked.

WS-028

Attestation

The Wallet MUST support Attestation refresh via the defined API exposed by the Wallet Backend.

Attestation is renewed and the new version is accepted by Verifiers and Issuers.

WS-029

Backup & Restore

Backup encryption MUST use strong, standards-compliant encryption algorithms (e.g., AES-GCM).

Encrypted backup file is resistant to brute-force and known cryptographic attacks.

WS-030

User Interaction

The Wallet MUST prompt the User to confirm intent before any destructive operation such as Revocation or Credential Deletion.

Destructive actions are only performed after explicit User confirmation.

WS-031

Attestation

The Wallet MUST generate a Wallet Attestation containing information about the device integrity status, using Play Integrity API on Android.

Wallet Attestation includes a valid Play Integrity payload with 'MEETS_DEVICE_INTEGRITY' field set.

WS-032

Attestation

The Wallet MUST generate a Wallet Attestation using DeviceCheck App Attest on iOS and include the attestation result in the Wallet Attestation.

Wallet Attestation includes a valid DC App Attest JWT response signed by Apple.

WS-033

Security

The Wallet MUST verify that the Play Integrity token signature is valid and issued by Google.

The Wallet rejects invalid or forged Play Integrity tokens.

WS-034

Security

The Wallet MUST validate that the 'nonce' value used in Play Integrity is cryptographically bound to the Wallet Instance.

Any tampering with the nonce is detected and leads to Attestation rejection.

WS-035

Attestation

The Wallet MUST send the Wallet Attestation to the Wallet Backend during registration.

Wallet Backend receives the attestation and verifies its validity.

WS-036

Backup & Restore

The Wallet MUST encrypt backups using a symmetric key derived from User secrets.

The backup cannot be decrypted without the original User authentication material.

WS-037

Backup & Restore

The Wallet MUST include metadata in the backup that identifies the version and creation timestamp.

Restore process reads and verifies backup metadata before proceeding.

WS-038

Revocation

The Wallet MUST send a signed Revocation Request including the Wallet Binding Key signature to the Backend.

The backend processes the revocation and updates the Wallet status to revoked.

WS-039

Revocation

The Wallet MUST not allow any further Credential Issuance or Presentation after revocation.

All operations are blocked once the Wallet is revoked.

WS-040

Credential Issuance

The Wallet MUST validate the structure of the Credential Offer received from the Issuer.

The Wallet only accepts Credential Offers that match the expected format and signature.

WS-041

Credential Issuance

The Wallet MUST ensure that the User consents to receiving a new Credential.

No Credential is stored without explicit User approval.

WS-042

Credential Presentation

The Wallet MUST verify the Verifier’s Presentation Request before responding.

Invalid or malformed requests are rejected.

WS-043

Security

The Wallet MUST sign Verifiable Presentations with the correct private key bound to the Wallet Instance.

Verifiers are able to validate the signature and trust the presentation.

WS-044

User Interaction

The Wallet MUST prompt the User before sending a Verifiable Credential to a Verifier.

No credential is shared without explicit User confirmation.

WS-045

Backup & Restore

The Wallet MUST allow the User to delete all stored backup data.

All backup material is securely deleted and cannot be recovered.

WS-046

Revocation

If the Wallet is restored on a new device, it MUST check whether the original Wallet Instance was revoked.

Revoked Wallet Instances cannot be restored.

WS-047

Security

The Wallet MUST verify the time validity of received Credentials (e.g., issuanceDate, expirationDate).

Expired credentials are marked as invalid and are not used.

WS-048

Attestation

The Wallet MUST include the public key of the Wallet Binding Key in the Wallet Attestation.

Verifiers and Issuers can validate signatures made with the corresponding private key.

WS-049

Credential Presentation

The Wallet MUST support selective disclosure of Credential attributes.

Only selected fields are included in the presentation sent to the Verifier.

WS-050

Credential Presentation

The Wallet MUST allow the User to preview which Credential attributes will be disclosed before confirmation.

User is shown the exact data to be shared and approves it explicitly.

WS-051

Proximity Flow

The Wallet MUST initiate the proximity flow only after explicit User Consent to interact with a Mobile Relying Party Instance.

The Wallet proximity presentation flow is blocked unless User has approved the request.

WS-052

Proximity Flow

The Wallet MUST validate the Access Certificate presented by a Mobile Relying Party Instance before proceeding.

If the Access Certificate is missing, invalid or expired, the Wallet MUST refuse the request.

WS-053

Proximity Flow

The Wallet MUST display a disclaimer when the Access Certificate is expired but still within the allowed grace period.

The disclaimer is shown clearly to the User and presentation proceeds only after consent.

WS-054

Relying Party Instance

The Wallet MUST enforce the check that the Relying Party Instance state is 'Verified' before allowing credential presentation.

The Wallet denies the flow if the Relying Party Instance is in any state other than 'Verified'.

WS-055

Security

The Wallet MUST log any failed presentation attempt due to invalid Relying Party Instance state or expired Access Certificate.

A security event log is generated and stored securely.

WS-056

Interoperability

The Wallet MUST support communication with Relying Party Instances using standardized QR codes for session negotiation as defined in the specification.

The Wallet successfully reads and parses QR codes and initiates the session as per protocol.

WS-057

Proximity Flow

The Wallet MUST establish a secure and authenticated session with the Mobile Relying Party Instance using ephemeral keys before presentation.

Session keys are negotiated and verified, and all communication is encrypted.

WS-058

Credential Presentation

The Wallet MUST allow the User to choose which Credential to present to a Relying Party Instance even in proximity flow.

Credential selection interface is shown to the User during proximity flow.

WS-059

Security

The Wallet MUST abort the session if the Relying Party Instance fails to prove possession of the private key associated with the Access Certificate.

Session is terminated and no Credential data is disclosed.

WS-060

User Interaction

The Wallet MUST clearly indicate to the User when a presentation request comes from a Mobile Relying Party Instance using a proximity channel.

The source of the request is shown before allowing presentation to proceed.

Credential Issuance Test Matrix

This section provides the set of test cases for verifying conformance of a Credential Issuance implementations to the technical rules defined in the IT-Wallet ecosystem. Tests related to both PID and (Q)EAA Providers are related to the issuance of credential of public interest, as published within the Credential Catalogue.

Note

References about official OpenID4VCI test plans will update this section in future releases.

  • PID/EAA Issuance

Test Case

Category

Description

Expected Result

ISS-001

Setup

Validate Wallet Instance Setup

Wallet Instance is set up with a valid Wallet Attestation. Ensure the public key is valid and correctly bound to a secure element.

ISS-002

Discovery

PID/(Q)EAA Provider Discovery

Wallet Instance successfully discovers trusted Digital Credential Issuers using the Credential Catalogue and their configuration compliance and policies with Federation API.

ISS-003

Metadata

PID/(Q)EAA Provider Metadata Retrieval

Wallet Instance retrieves and validates PID/(Q)EAA Provider metadata. Metadata includes PID formats, supported algorithms, and interoperability parameters.

ISS-004

Authorization, Authentication

PID/(Q)EAA Request using Authorization Code Flow

Wallet Instance successfully requests PID/(Q)EAA using Authorization Code Flow. Validate PKCE use with a code verifier of 43-128 characters.

ISS-005

Authentication

User Authentication with PID Provider

User is authenticated with LoA 3 (High) by the PID Provider. Validate the use of the digital identity scheme CieID and ensure that User consent is obtained.

ISS-006

Issuance

PID/(Q)EAA Issuance

PID/(Q)EAA is issued and bound to the Wallet Instance's key material. Validate the binding process and ensure the integrity and the compliance to data model of the issued PID/(Q)EAA.

ISS-007

Authentication

User Authentication with (Q)EAA Provider

User is authenticated by presenting a valid PID. The presentation request, the PID is valid and previously obtained.

ISS-008

Security

Pushed Authorization Request (PAR) Validation

PID/(Q)EAA Provider validates the PAR request successfully.

ISS-009

Security

Token Request Validation

PID/(Q)EAA Provider validates the token request and issues tokens. Validate the DPoP proof and ensure the authorization code is valid and not reused.

ISS-010

Security

Credential Request Validation

PID/(Q)EAA Provider validates the Credentials request and issues Credentials. Validate the proof of possession and ensure the credential type matches the request.

ISS-011

Deferred Issuance

Deferred Issuance Flow

Wallet Instance handles deferred issuance correctly and retrieves credentials later. Validate the use of transaction unique identifier (transaction_id) and ensure the Credential is issued after the specified lead time.

ISS-012

Notification

Notification Handling

Wallet Instance sends and receives notifications correctly. Validate the use of notification_id and ensure the event type is correctly reported.

ISS-013

Credential Issuance

(Q)EAA Provider offers Credentials to Holder

Wallet Instances evaluate the offer and start the authorization flow after having evaluated the trust with the (Q)EAA Provider.

ISS-014

Security

Validate client_id in PAR Request

Ensure the client_id in the request body matches the client_id claim in the Request Object.

ISS-015

Security

Validate iss Claim in Request Object

Ensure the iss claim in the Request Object matches the client_id claim.

ISS-016

Security

Validate aud Claim in Request Object

Ensure the aud claim in the Request Object is equal to the identifier of the PID/(Q)EAA Provider.

ISS-017

Security

Reject PAR Request with request_uri

Ensure the PAR request is rejected if it contains the request_uri parameter.

ISS-018

Security

Validate Mandatory Parameters in Request Object

Ensure the Request Object contains all mandatory parameters and values are validated.

ISS-019

Security

Validate OAuth-Client-Attestation-PoP

Ensure the OAuth-Client-Attestation-PoP parameter is validated.

ISS-020

Authorization

Validate request_uri in Authorization Request

Ensure request_uri values are treated as one-time use and expired requests are rejected.

ISS-021

Authorization

Identify Request from Submitted PAR

Ensure the request is identified as a result of the submitted PAR.

ISS-022

Authorization

Reject Authorization Requests without request_uri

Ensure all Authorization Requests without request_uri are rejected.

ISS-023

Security

Validate Authorization Response Parameters

Ensure the Authorization Response contains all defined parameters.

ISS-024

Security

Validate state Parameter in Authorization Response

Ensure the state parameter in the response matches the value sent in the Request Object.

ISS-025

Security

Validate iss Parameter in Authorization Response

Ensure the iss parameter matches the intended PID/(Q)EAA Provider.

ISS-026

Security

Validate DPoP Proof for Token Endpoint

Ensure the DPoP Proof JWT is valid and binds the Access Token to the Wallet Instance.

ISS-027

Security

Validate Token Request Parameters

Ensure the token request includes code, code_verifier, and valid OAuth 2.0 Attestation.

ISS-028

Security

Validate Authorization Code in Token Request

Ensure the Authorization code is valid and not reused.

ISS-029

Security

Validate redirect_uri in Token Request

Ensure the redirect_uri matches the value in the previous Request Object.

ISS-030

Security

Validate DPoP Proof JWT in Token Request

Ensure the DPoP Proof JWT is validated according to the specification.

ISS-031

Security

Validate Nonce Request

Ensure the Nonce Request is sent correctly and a fresh c_nonce is obtained.

ISS-032

Security

Validate Nonce Response

Ensure the c_nonce in the Nonce Response is unpredictable and used correctly.

ISS-033

Security

Validate DPoP Proof for Credential Endpoint

Ensure the DPoP Proof JWT for the Credential Endpoint is valid and binds the Credential to the Wallet Instance.

ISS-034

Security

Validate Credential Request Parameters

Ensure the Credential Request includes Access Token, DPoP Proof JWT, and valid proof of possession.

ISS-035

Security

Validate JWT Proof in Credential Request

Ensure the JWT proof includes all required claims and is signed correctly.

ISS-036

Security

Validate c_nonce in Credential Request

Ensure the c_nonce in the JWT matches the value provided by the server.

ISS-037

Security

Validate Credential Response Parameters

Ensure the Credential Response contains all mandatory parameters and values are validated.

ISS-038

Security

Validate Credential Integrity

Ensure the integrity of the issued Credential by verifying the signature.

ISS-039

Security

Validate Credential Type and Schema

Ensure the issued Credential matches the requested type and complies with the schema.

ISS-040

Security

Validate Trust Chain in Credential

Ensure the Trust Chain in the Credential header verifies the PID/(Q)EAA Provider's trust at time of issuance.

ISS-041

Security

Validate Deferred Issuance Parameters

Ensure the Deferred Issuance parameters are used correctly and the Credential is issued after the specified lead time.

ISS-042

Security

Validate Notification Request Parameters

Ensure the Notification Request includes notification_id and valid event type.

ISS-043

Security

Validate Notification Response

Ensure the Notification Response is received with the correct status code.

ISS-044

Security

Validate Refresh Token Flow

Ensure the Refresh Token flow is used correctly and tokens are bound to the DPoP key.

ISS-045

Security

Validate Refresh Token Expiry

Ensure the Refresh Token is not expired and is used within the allowed timeframe.

ISS-046

Security

Validate Sender-Constrained Tokens

Ensure Refresh Tokens are cryptographically bound to the Wallet Instance.

ISS-047

Security

Validate Limiting Use of Refresh Token

Ensure the use of Refresh Tokens is limited and complies with the specification.

ISS-048

Revocation

Validate life time of Wallet Attestations

Ensure Wallet Attestations are short-lived or provided with Status List if long-lived.

ISS-049

Security

Validate Re-Issuance Flow

Ensure the Re-Issuance flow is used correctly and complies with the specification.

ISS-050

Security

Validate Data Model/Format Update

Ensure the Data Model/Format update is handled correctly during Re-Issuance.

ISS-051

Security

Validate User Attribute Set Update

Ensure User attribute set updates are handled correctly during Re-Issuance.

ISS-052

Security

Validate Credential Expiry in Re-Issuance

Ensure the newly issued Credential has the same expiry date as the previous one.

ISS-053

Security

Validate User Authentication in Re-Issuance

Ensure User authentication is required for Re-Issuance after Credential expiration.

ISS-054

Security

Validate Deferred Endpoint Parameters

Ensure the Deferred Endpoint parameters are used correctly and the Credential is issued after the specified lead time.

ISS-055

Security

Validate Deferred Credential Request

Ensure the Deferred Credential Request is sent correctly and the Credential is issued.

ISS-056

Security

Validate Deferred Credential Response

Ensure the Deferred Credential Response contains all mandatory parameters and values are validated.

ISS-057

Security

Validate Notification Endpoint Parameters

Ensure the Notification Endpoint parameters are used correctly and the event is reported.

ISS-058

Security

Validate Error Handling in Notification Endpoint

Ensure errors in the Notification Endpoint are handled correctly and reported.

ISS-059

Security

Validate Error Handling in Credential Endpoint

Ensure errors in the Credential Endpoint are handled correctly and reported.

ISS-060

Security

Validate Error Handling in Token Endpoint

Ensure errors in the Token Endpoint are handled correctly and reported.

ISS-061

Security

Validate Error Handling in Authorization Endpoint

Ensure errors in the Authorization Endpoint are handled correctly and reported.

ISS-062

Error Handling

Validate Error Handling in PAR Endpoint

Ensure errors in the PAR Endpoint are handled correctly and reported.

ISS-063

Error Handling

Validate Error Handling in Nonce Endpoint

Ensure errors in the Nonce Endpoint are handled correctly and reported.

ISS-064

Error Handling

Validate Error Handling in Deferred Endpoint

Ensure errors in the Deferred Endpoint are handled correctly and reported.

ISS-065

Error Handling

Validate Error Handling in Re-Issuance Flow

Ensure errors in the Re-Issuance Flow are handled correctly and reported.

ISS-066

Error Handling

Validate Error Handling in Refresh Token Flow

Ensure errors in the Refresh Token Flow are handled correctly and reported.

ISS-067

Error Handling

Validate Error Handling in Credential Issuance

Ensure errors in the Credential Issuance process are handled correctly and reported.

ISS-068

Error Handling

Validate Error Handling in Credential Request

Ensure errors in the Credential Request process are handled correctly and reported.

ISS-069

Error Handling

Validate Error Handling in Credential Response

Ensure errors in the Credential Response process are handled correctly and reported.

ISS-070

Error Handling

Validate Error Handling in Credential Validation

Ensure errors in the Credential Validation process are handled correctly and reported.

ISS-071

Error Handling

Validate Error Handling in Credential Integrity

Ensure errors in the Credential Integrity process are handled correctly and reported.

ISS-072

Error Handling

Validate Error Handling in Credential Type and Schema

Ensure errors in the Credential Type and Schema process are handled correctly and reported.

ISS-073

Error Handling

Validate Error Handling in Trust Chain Validation

Ensure errors in the Trust Chain Validation process are handled correctly and reported.

ISS-074

Error Handling

Validate Error Handling in Deferred Issuance

Ensure errors in the Deferred Issuance process are handled correctly and reported.

ISS-075

Error Handling

Validate Error Handling in Notification Handling

Ensure errors in the Notification Handling process are handled correctly and reported.

ISS-076

Error Handling

Validate Error Handling in User Authentication

Ensure errors in the User Authentication process are handled correctly and reported.

ISS-077

Error Handling

Validate Error Handling in User Consent

Ensure errors in the User Consent process are handled correctly and reported.

ISS-078

Error Handling

Validate Error Handling in User Notification

Ensure errors in the User Notification process are handled correctly and reported.

ISS-079

Error Handling

Validate Error Handling in User Attribute Set Update

Ensure errors in the User Attribute Set Update process are handled correctly and reported.

ISS-080

Error Handling

Validate Error Handling in Data Model/Format Update

Ensure errors in the Data Model/Format Update process are handled correctly and reported.

ISS-081

Error Handling

Validate Error Handling in Credential Expiry

Ensure errors in the Credential Expiry process are handled correctly and reported.

ISS-082

Error Handling

Validate Error Handling in Credential Re-Issuance

Ensure errors in the Credential Re-Issuance process are handled correctly and reported.

ISS-083

Error Handling

Validate Error Handling in Credential Binding

Ensure errors in the Credential Binding process are handled correctly and reported.

ISS-084

Error Handling

Validate Error Handling in Credential Trust Evaluation

Ensure errors in the Credential Trust Evaluation process are handled correctly and reported.

ISS-085

Error Handling

Validate Error Handling in Credential Metadata Retrieval

Ensure errors in the Credential Metadata Retrieval process are handled correctly and reported.

ISS-086

Error Handling

Validate Error Handling in Credential Discovery

Ensure errors in the Credential Discovery process are handled correctly and reported.

ISS-087

Error Handling

Validate Error Handling in Credential Offer Evaluation

Ensure errors in the Credential Offer Evaluation process are handled correctly and reported.

ISS-088

Error Handling

Validate Error Handling in Credential Offer Acceptance

Ensure errors in the Credential Offer Acceptance process are handled correctly and reported.

ISS-089

Error Handling

Validate Error Handling in Credential Offer Rejection

Ensure errors in the Credential Offer Rejection process are handled correctly and reported.

ISS-090

Error Handling

Validate Error Handling in Credential Offer Revocation

Ensure errors in the Credential Offer Revocation process are handled correctly and reported.

ISS-091

Error Handling

Validate Error Handling in Credential Offer Expiry

Ensure errors in the Credential Offer Expiry process are handled correctly and reported.

ISS-092

Error Handling

Validate Error Handling in Credential Offer Renewal

Ensure errors in the Credential Offer Renewal process are handled correctly and reported.

ISS-093

Error Handling

Validate Error Handling in Credential Offer Update

Ensure errors in the Credential Offer Update process are handled correctly and reported.

ISS-094

Error Handling

Validate Error Handling in Credential Offer Validation

Ensure errors in the Credential Offer Validation process are handled correctly and reported.

ISS-095

Error Handling

Validate Error Handling in Credential Offer Verification

Ensure errors in the Credential Offer Verification process are handled correctly and reported.

ISS-096

Error Handling

Validate Error Handling in Credential Offer Confirmation

Ensure errors in the Credential Offer Confirmation process are handled correctly and reported.

ISS-097

Error Handling

Validate Error Handling in Credential Offer Notification

Ensure errors in the Credential Offer Notification process are handled correctly and reported.

ISS-098

Error Handling

Validate Error Handling in Credential Offer Communication

Ensure errors in the Credential Offer Communication process are handled correctly and reported.

ISS-099

Error Handling

Validate Error Handling in Credential Offer Transmission

Ensure errors in the Credential Offer Transmission process are handled correctly and reported.

ISS-100

Error Handling

Validate Error Handling in Credential Offer Reception

Ensure errors in the Credential Offer Reception process are handled correctly and reported.

ISS-101

Error Handling

Validate Error Handling in Credential Offer Processing

Ensure errors in the Credential Offer Processing process are handled correctly and reported.

ISS-102

Error Handling

Validate Error Handling in Credential Offer Handling

Ensure errors in the Credential Offer Handling process are handled correctly and reported.

ISS-103

Error Handling

Validate Error Handling in Credential Offer Management

Ensure errors in the Credential Offer Management process are handled correctly and reported.

ISS-104

Error Handling

Validate Error Handling in Credential Offer Administration

Ensure errors in the Credential Offer Administration process are handled correctly and reported.

ISS-105

Error Handling

Validate Error Handling in Credential Offer Control

Ensure errors in the Credential Offer Control process are handled correctly and reported.

ISS-106

Error Handling

Validate Error Handling in Credential Offer Oversight

Ensure errors in the Credential Offer Oversight process are handled correctly and reported.

ISS-107

Error Handling

Validate Error Handling in Credential Offer Supervision

Ensure errors in the Credential Offer Supervision process are handled correctly and reported.

ISS-108

Error Handling

Validate Error Handling in Credential Offer Monitoring

Ensure errors in the Credential Offer Monitoring process are handled correctly and reported.

ISS-109

Error Handling

Validate Error Handling in Credential Offer Evaluation

Ensure errors in the Credential Offer Evaluation process are handled correctly and reported.

ISS-110

Error Handling

Validate Error Handling in Credential Offer Assessment

Ensure errors in the Credential Offer Assessment process are handled correctly and reported.

Credential Presentation Test Matrix

This section provides the set of test cases for verifying conformance of a Credential Verifiers implementations to the technical rules defined in the IT-Wallet ecosystem.

Remote Credential Presentation Test Matrix

This section defines the test cases about the remote presentation flow.

Note

References about official OpenID4VP test plans will update this section in future releases.

Test Case

Category

Description

Expected Result

RPR-01

Same Device Flow

Verify HTTP redirect (302) URL.

Wallet Instance receives correct URL.

RPR-02

Cross Device Flow

Verify QR Code generation for Wallet Instance.

Wallet Instance scans QR Code successfully.

RPR-03

Cross Device Flow

Verify QR Code contains correct URL parameters.

Wallet Instance retrieves URL with parameters.

RPR-04

Cross Device Flow

Test QR Code scanning in low light.

QR Code is scanned successfully.

RPR-05

Cross Device Flow

Verify QR Code error correction level.

QR Code remains readable if damaged.

RPR-06

Cross Device Flow

Test QR Code scanning with different devices.

QR Code is scanned successfully.

RPR-07

Request URI Method

Test request_uri_method as post.

Wallet Instance sends metadata via POST.

RPR-08

Request URI Method

Test request_uri_method as get.

Wallet Instance fetches Request Object via GET.

RPR-09

Request URI Method

Test absence of request_uri_method.

Wallet Instance defaults to GET method.

RPR-10

Metadata

Verify parameters match openid credential verifier metadata.

Only allowed parameters will be considered.

RPR-11

User Consent

Test eligibility of a credential verifier in requesting user attributes.

User can modify data selection about optional attributes.

RPR-12

Authorization Response

Test sending of Presentation Response.

Relying Party receives and validates response with state and nonce.

RPR-13

Authorization Response

Verify response encryption.

Response is encrypted using Relying Party's public key.

RPR-14

Error Handling

Test invalid Request Object handling.

Authorization Error Response is sent.

RPR-15

Error Handling

Verify error logging by Wallet Instance.

Errors are logged appropriately.

RPR-16

Error Handling

Test recovery from server_error.

User prompted to retry or scan new QR code.

RPR-17

Relying Party Response

Verify successful Response handling.

User session is updated, redirect URI provided.

RPR-18

Relying Party Response

Test absence of redirect_uri.

Error response is returned.

RPR-19

Redirect URI

Test redirection to Relying Party's endpoint.

User is redirected correctly.

RPR-20

Redirect URI

Verify handling of invalid redirect_uri.

Error response is returned.

RPR-21

User Consent

Verify display of Relying Party's identity.

Identity is displayed clearly to Holder.

RPR-22

User Consent

Test user consent revocation.

User can revoke consent before submission.

RPR-23

Credential Presentation

Verify response format compliance.

Each Credential adheres to specified format.

RPR-24

Authorization Response

Test handling of response timeouts.

Retries must be successful unless response is acquired.

RPR-25

Error Handling

Verify handling of malformed claims in presentation payload.

Authorization Error Response is sent.

RPR-26

Error Handling

Verify handling of malformed claims in presented credentials.

Authorization Error Response is sent.

RPR-27

Error Handling

Test handling of expired requests.

Holder is notified of expiration.

RPR-28

Relying Party Response

Verify inclusion of response code.

Response code is cryptographically random.

RPR-29

Relying Party Response

Test handling of invalid response codes.

Error response is returned.

RPR-30

Status Endpoint

Verify handling of unauthorized access.

Unauthorized access is denied.

RPR-31

Status Endpoint

Test handling of invalid session IDs.

Error response is returned.

RPR-32

Redirect URI

Verify handling of expired sessions.

Error response is returned.

RPR-33

Redirect URI

Test handling of server errors.

Error response is returned.

RPR-34

Same Device Flow

Verify handling of slow network conditions.

Wallet Instance retries or notifies user.

RPR-35

Request URI Method

Test handling of large metadata payloads.

Metadata is sent successfully.

RPR-36

Presentation Response

Verify handling of large response payloads.

Response is sent successfully.

RPR-37

Presentation Response

Test handling of response encryption failures.

Error response is returned.

RPR-38

Error Handling

Verify handling of invalid signatures.

Authorization Error Response is sent.

RPR-39

Error Handling

Test handling of invalid nonce values.

Error response is returned.

RPR-40

Relying Party Response

Verify handling of malformed responses.

Error response is returned.

RPR-41

Relying Party Response

Test handling of missing response parameters.

Error response is returned.

RPR-42

Status Endpoint

Verify handling of session timeouts.

Error response is returned.

RPR-43

Status Endpoint

Test handling of invalid status codes.

Error response is returned.

RPR-44

Redirect URI

Verify handling of invalid user sessions.

Error response is returned.

RPR-45

Redirect URI

Test handling of unavailable services.

Error response is returned.

RPR-46

Same Device Flow

Verify handling of user cancellations.

User can cancel the process.

RPR-47

Cross Device Flow

Test QR Code scanning with different apps.

QR Code is scanned successfully.

RPR-48

Cross Device Flow

Verify QR Code scanning with different lighting.

QR Code is scanned successfully.

RPR-49

Request URI Method

Test handling of unsupported content types.

Error response is returned.

RPR-50

User Consent

Verify user notification of consent changes.

User is informed about consent changes.

RPR-51

User Consent

Test user consent for sensitive data.

User can consent to sensitive data.

RPR-52

Authorization Response

Verify handling of response decryption failures.

Error response is returned.

RPR-53

Authorization Response

Test handling of response integrity checks.

Response integrity is verified.

RPR-54

Relying Party Response

Verify handling of response validation failures.

Error response is returned.

RPR-55

Relying Party Response

Test handling of response processing errors.

Error response is returned.

RPR-56

Protected Resource Endpoint

Verify handling of unauthorized session access.

Unauthorized access is denied.

RPR-57

Redirect URI

Verify handling of invalid redirect parameters.

Error response is returned.

RPR-58

Redirect URI

Test handling of redirect failures.

Error response is returned.

RPR-59

Same Device Flow

Verify handling of user interruptions.

User can resume or cancel the process.

RPR-60

Request URI Method

Test handling of invalid HTTP methods.

Error response is returned.

RPR-61

User Consent

Verify user notification of consent revocation.

User is informed about consent revocation.

RPR-62

User Consent

Test user consent for optional data.

User can consent to optional data.

RPR-63

Authorization Response

Verify handling of response signature failures.

Error response is returned.

RPR-64

Authorization Response

Test handling of response format errors.

Error response is returned.

RPR-65

Error Handling

Verify handling of invalid JWT signatures.

Authorization Error Response is sent.

RPR-66

Error Handling

Test handling of invalid JWT claims.

Error response is returned.

RPR-67

Relying Party Response

Verify handling of response parsing errors.

Error response is returned.

RPR-68

Relying Party Response

Test handling of response timeout errors.

Error response is returned.

RPR-69

Status Endpoint

Verify handling of session expiration.

Error response is returned.

RPR-70

Status Endpoint

Test handling of session renewal errors.

Error response is returned.

RPR-71

Redirect URI

Verify handling of redirect loop errors.

Error response is returned.

RPR-72

Redirect URI

Test handling of redirect security errors.

Error response is returned.

RPR-73

Same Device Flow

Verify handling of user timeouts.

User is notified of timeout.

RPR-74

Cross Device Flow

Test QR Code scanning with different devices.

QR Code is scanned successfully.

RPR-75

Cross Device Flow

Verify QR Code scanning with different apps.

QR Code is scanned successfully.

RPR-76

Request URI Method

Test handling of unsupported HTTP methods.

Error response is returned.

Proximity Credential Presentation Test Matrix

This section defines the general test cases about the proximity presentation flow.

Note

References about ISO-1813-5 test plans will update this section in future releases.

Test Case

Category

Description

Expected Result

PPR-001

Device Engagement

Test the initiation of device engagement using QR code.

Device engagement is successfully initiated and QR code is scanned.

PPR-002

Session Establishment

Verify session establishment with correct session keys.

Session is established securely with correct session keys.

PPR-003

Communication

Test the transmission of mdoc request over BLE.

mdoc request is transmitted securely over BLE.

PPR-004

User Authentication

Validate user authentication via WSCA.

User is authenticated successfully using WSCA.

PPR-005

Attribute Consent

Check user consent for attribute release.

User consents to release requested attributes.

PPR-006

Data Retrieval

Test retrieval of mdoc Digital Credentials.

mdoc Digital Credentials are retrieved successfully.

PPR-007

Session Termination

Verify session termination after data exchange.

Session is terminated and keys are destroyed.

PPR-008

Error Handling

Test handling of invalid session keys.

Appropriate error message is displayed for invalid keys.

PPR-009

BLE Connection

Test BLE connection stability during data exchange.

BLE connection remains stable throughout the exchange.

PPR-010

Document Verification

Verify the integrity of received documents.

Documents are verified and integrity is confirmed.

PPR-011

Security

Test encryption of mdoc requests and responses.

All mdoc requests and responses are encrypted correctly.

PPR-012

User Interface

Check the user interface for attribute consent.

User interface displays attribute consent request clearly.

PPR-013

Error Handling

Test response to unsupported document types.

System returns appropriate error for unsupported document types.

PPR-014

Performance

Measure time taken for session establishment.

Session is established within acceptable time limits.

PPR-015

Compatibility

Verify compatibility with different mobile devices.

System works seamlessly across various mobile devices.

PPR-016

Data Integrity

Test integrity of data during transmission.

Data integrity is maintained during transmission.

PPR-017

Session Management

Test session management under high load.

Sessions are managed effectively under high load conditions.

PPR-018

BLE Connection

Test reconnection after BLE disconnection.

System reconnects successfully after BLE disconnection.

PPR-019

User Experience

Evaluate user experience during the proximity flow.

Users report a positive experience with the proximity flow.

PPR-020

Security

Test resistance to replay attacks.

System is resistant to replay attacks.