|
Cross-Device Presentation of Digital Attestations via EUDI Wallet
|
User initiates verification from Desktop browser
|
|
3 |
Given the user is on the Relying Party service page
When the user initiates the wallet verification flow
Then a presentation request flow is initiated
|
SUCCESS
|
|
Cross-Device Presentation of Digital Attestations via EUDI Wallet
|
Desktop browser requests permission for Digital Credentials API
|
|
3 |
Given a presentation request flow has been initiated
When the Desktop browser invokes the Digital Credentials API
Then the user is prompted to grant permission
|
SUCCESS
|
|
Cross-Device Presentation of Digital Attestations via EUDI Wallet
|
User grants permission on Desktop browser
|
|
3 |
Given the browser displays a permission prompt
When the user grants permission
Then the Relying Party generates a valid presentation request
|
SUCCESS
|
|
Cross-Device Presentation of Digital Attestations via EUDI Wallet
|
QR code is displayed for cross-device flow
|
|
3 |
Given a valid presentation request has been created
When the browser processes the request
Then a QR code is displayed to the user
|
SUCCESS
|
|
Cross-Device Presentation of Digital Attestations via EUDI Wallet
|
User scans QR code using mobile device
|
|
3 |
Given a QR code is displayed on the Desktop browser
When the user scans the QR code with the mobile device camera
Then the presentation request is transferred to the mobile device
|
SUCCESS
|
|
Cross-Device Presentation of Digital Attestations via EUDI Wallet
|
No matching attestations on mobile device
|
|
3 |
Given the mobile device has received a presentation request
When no installed Wallet Unit contains suitable attestations
Then the user is notified and the process is terminated
|
SUCCESS
|
|
Cross-Device Presentation of Digital Attestations via EUDI Wallet
|
Attestation identifying information is displayed
|
|
3 |
Given the mobile device has received a presentation request
When the system identifies one or more suitable attestations
Then the user sees an extension of the Wallet open automatically
|
SUCCESS
|
|
Cross-Device Presentation of Digital Attestations via EUDI Wallet
|
Wallet displays requested attestations and attributes
|
|
3 |
Given the extension of the Wallet is open
When the presentation request screen is shown
Then the requesting Relying Party and the requested attestations and related attributes are displayed
|
SUCCESS
|
|
Cross-Device Presentation of Digital Attestations via EUDI Wallet
|
Successful consent and authentication
|
|
3 |
Given the presentation request screen is displayed in the Wallet
When the user consents to share attributes and enters a valid six-digit PIN
Then the attestation is presented successfully
|
SUCCESS
|
|
Cross-Device Presentation of Digital Attestations via EUDI Wallet
|
Invalid PIN during cross-device presentation
|
|
3 |
Given the Wallet requests PIN authentication
When the user enters an incorrect six-digit PIN
Then an authentication error is displayed
|
SUCCESS
|
|
Cross-Device Presentation of Digital Attestations via EUDI Wallet
|
Relying Party verifies attestation successfully on Desktop
|
|
3 |
Given the attestation has been presented from the mobile Wallet
When the Relying Party validates the attestation successfully
Then a verification confirmation is displayed in the Desktop browser
|
SUCCESS
|
|
Cross-Device Presentation of Digital Attestations via EUDI Wallet
|
Relying Party verification fails on Desktop
|
|
3 |
Given the attestation has been presented from the mobile Wallet
When the Relying Party fails to validate the attestation
Then an error message is displayed and retry is allowed
|
SUCCESS
|
|
Present Digital Attestations via Browser using EUDI Wallet on Same Device
|
User initiates verification from browser on their mobile device
|
|
3 |
Given the user is on the Relying Party service page
When the user initiates the wallet verification flow
Then a presentation request flow is initiated
|
SUCCESS
|
|
Present Digital Attestations via Browser using EUDI Wallet on Same Device
|
Browser does not request permission for Digital Credentials API
|
|
3 |
Given a presentation request flow has been initiated
When the Desktop browser invokes the Digital Credentials API
Then the user is not prompted to grant permission
|
SUCCESS
|
|
Present Digital Attestations via Browser using EUDI Wallet on Same Device
|
No matching attestations on mobile device
|
|
3 |
Given the mobile device has received a presentation request
When no installed Wallet Unit contains suitable attestations
Then the user is notified and the process is terminated
|
SUCCESS
|
|
Present Digital Attestations via Browser using EUDI Wallet on Same Device
|
Attestation identifying information is displayed
|
|
3 |
Given the mobile device has received a presentation request
When the system identifies one or more suitable attestations
Then the user sees an extension of the Wallet open automatically
|
SUCCESS
|
|
Present Digital Attestations via Browser using EUDI Wallet on Same Device
|
Wallet displays requested attestations and attributes
|
|
3 |
Given the extension of the Wallet is open
When the presentation request screen is shown
Then the requesting Relying Party and the requested attestations and related attributes are displayed
|
SUCCESS
|
|
Present Digital Attestations via Browser using EUDI Wallet on Same Device
|
Successful consent and authentication
|
|
3 |
Given the presentation request screen is displayed in the Wallet
When the user consents to share attributes and enters a valid six-digit PIN
Then the attestation is presented successfully
|
SUCCESS
|
|
Present Digital Attestations via Browser using EUDI Wallet on Same Device
|
Invalid PIN during cross-device presentation
|
|
3 |
Given the Wallet requests PIN authentication
When the user enters an incorrect six-digit PIN
Then an authentication error is displayed
|
SUCCESS
|
|
Present Digital Attestations via Browser using EUDI Wallet on Same Device
|
Relying Party verifies attestation successfully
|
|
3 |
Given the attestation has been presented to the Relying Party
When the Relying Party validates the attestation successfully
Then a verification confirmation is displayed in the browser
|
SUCCESS
|
|
Present Digital Attestations via Browser using EUDI Wallet on Same Device
|
Relying Party verification fails
|
|
3 |
Given the attestation has been presented to the Relying Party
When the Relying Party fails to validate the attestation
Then an error message is displayed and retry is allowed
|
SUCCESS
|
|
PID-07 Issuing mdoc and sd-jwt PID together at once
|
PID Request in UI
|
|
3 |
Given a wallet user navigates to the Documents section and selects to add from a list
When the documents on the list are displayed
Then the user can see one PID option without any format indication
|
SUCCESS
|
|
PID-07 Issuing mdoc and sd-jwt PID together at once
|
Successful Dual Format Generation
|
|
3 |
Given a wallet user requests PID issuance
When the PID provider processes the request
Then both ISO mdoc and SD-JWT VC formats are generated simultaneously
|
SUCCESS
|
|
PID-07 Issuing mdoc and sd-jwt PID together at once
|
Secure Delivery of Both Formats
|
|
3 |
Given both PID formats are generated successfully
When the PID is delivered to the user's wallet
Then both formats are received in a secure transaction
|
SUCCESS
|
|
PID-07 Issuing mdoc and sd-jwt PID together at once
|
Wallet Storage and Display
|
|
4 |
Given both PID formats are delivered to the wallet
When they are stored in the wallet
Then both formats are accessible
And they appear as PID mdoc and PID sd-jwt in the user interface's documents section
|
SUCCESS
|
|
PID-07 Issuing mdoc and sd-jwt PID together at once
|
Automatic Format Selection by Wallet
|
|
4 |
Given the wallet has both PID formats stored
When a service requests PID-based identity verification
Then the wallet automatically selects the appropriate format
And the user does not need to manually choose the format
|
SUCCESS
|
|
PID-07 Issuing mdoc and sd-jwt PID together at once
|
Error Handling for Generation Failure
|
|
4 |
Given either the mdoc or sd-jwt format fails to generate
When the issuance process encounters an error
Then the entire PID issuance process fails
And no partial PID is stored in the wallet
|
SUCCESS
|
|
User Authentication and Re-Issuance of PIDs/Attestations
|
Successful authentication
|
|
3 |
Given the user opens the Wallet application
When the user authenticates successfully using a six digit PIN
Then the Wallet grants access to the user
|
SUCCESS
|
|
User Authentication and Re-Issuance of PIDs/Attestations
|
Unsuccessful authentication
|
|
4 |
Given the user opens the Wallet application
When the user fails to authenticate using the six digit PIN
Then the Wallet presents an error message
And the user can retry the authentication
|
SUCCESS
|
|
User Authentication and Re-Issuance of PIDs/Attestations
|
User initiates re-issuance from an existing PID or attestation
|
|
4 |
Given the user is authenticated in the Wallet
And an existing PID or attestation is stored in the Wallet
When the user selects the re-issuance option from the Issuer details
Then the wallet requests re-issuance from the issuer
|
SUCCESS
|
|
User Authentication and Re-Issuance of PIDs/Attestations
|
Wallet requests re-issuance to the same issuer for same document type
|
|
4 |
Given the user requested re-issuance for an existing PID or attestation
When the wallet sends the re-issuance request
Then the request is sent to the same issuer that issued the original PID or attestation
And the request is for the same PID or attestation type
|
SUCCESS
|
|
User Authentication and Re-Issuance of PIDs/Attestations
|
Existing PID or attestation is replaced by the re-issued one
|
|
3 |
Given an existing PID or attestation is already stored in the Wallet
When the Wallet receives the re-issued PID or attestation of the same type
Then the existing PID or attestation is replaced
|
SUCCESS
|
|
User Authentication and Re-Issuance of PIDs/Attestations
|
Re-issuance in batch when the original issuance was in batch
|
|
3 |
Given the original PID or attestation was issued in batch
When the issuer re-issues the PID or attestation
Then the PID or attestation is re-issued in batch
|
SUCCESS
|
|
Issuance and presentation - Proximity case
|
1: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=specific attributes (custom), status=passed
|
|
9 |
Given user initiates credential issuance using the Python
And issuance method is from list
And issuance is performed on a same device
When issuance flow is completed
Then credential is stored in the Wallet
When user presents the credential to the Proximity Verifier App
And presentation is performed on a proximity case
And user shares specific attributes (custom)
Then verifier verifies the credential successfully with passed
|
SUCCESS
|
|
Issuance and presentation - Proximity case
|
2: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=all attributes (full), status=passed
|
|
9 |
Given user initiates credential issuance using the Python
And issuance method is from list
And issuance is performed on a same device
When issuance flow is completed
Then credential is stored in the Wallet
When user presents the credential to the Proximity Verifier App
And presentation is performed on a proximity case
And user shares all attributes (full)
Then verifier verifies the credential successfully with passed
|
SUCCESS
|
|
Issuance and presentation - Proximity case
|
3: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=specific attributes (custom), status=passed
|
|
9 |
Given user initiates credential issuance using the Python
And issuance method is credential offer
And issuance is performed on a same device
When issuance flow is completed
Then credential is stored in the Wallet
When user presents the credential to the Proximity Verifier App
And presentation is performed on a proximity case
And user shares specific attributes (custom)
Then verifier verifies the credential successfully with passed
|
SUCCESS
|
|
Issuance and presentation - Proximity case
|
4: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=all attributes (full), status=passed
|
|
9 |
Given user initiates credential issuance using the Python
And issuance method is credential offer
And issuance is performed on a same device
When issuance flow is completed
Then credential is stored in the Wallet
When user presents the credential to the Proximity Verifier App
And presentation is performed on a proximity case
And user shares all attributes (full)
Then verifier verifies the credential successfully with passed
|
SUCCESS
|
|
Issuance and presentation - Proximity case
|
5: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=specific attributes (custom), status=passed
|
|
9 |
Given user initiates credential issuance using the Python
And issuance method is credential offer
And issuance is performed on a cross device
When issuance flow is completed
Then credential is stored in the Wallet
When user presents the credential to the Proximity Verifier App
And presentation is performed on a proximity case
And user shares specific attributes (custom)
Then verifier verifies the credential successfully with passed
|
SUCCESS
|
|
Issuance and presentation - Proximity case
|
6: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=all attributes (full), status=passed
|
|
9 |
Given user initiates credential issuance using the Python
And issuance method is credential offer
And issuance is performed on a cross device
When issuance flow is completed
Then credential is stored in the Wallet
When user presents the credential to the Proximity Verifier App
And presentation is performed on a proximity case
And user shares all attributes (full)
Then verifier verifies the credential successfully with passed
|
SUCCESS
|
|
Issuance and presentation - Proximity case
|
1: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer
issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=specific attributes (custom), status=passed
|
|
9 |
Given user initiates credential issuance using the Kotlin
And issuance method is credential offer
And issuance is performed on a same device
When issuance flow is completed
Then credential is stored in the Wallet
When user presents the credential to the Proximity Verifier App
And presentation is performed on a proximity case
And user shares specific attributes (custom)
Then verifier verifies the credential successfully with passed
|
SUCCESS
|
|
Issuance and presentation - Proximity case
|
2: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer
issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=all attributes (full), status=passed
|
|
9 |
Given user initiates credential issuance using the Kotlin
And issuance method is credential offer
And issuance is performed on a same device
When issuance flow is completed
Then credential is stored in the Wallet
When user presents the credential to the Proximity Verifier App
And presentation is performed on a proximity case
And user shares all attributes (full)
Then verifier verifies the credential successfully with passed
|
SUCCESS
|
|
Issuance and presentation - Proximity case
|
3: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer
issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=specific attributes (custom), status=passed
|
|
9 |
Given user initiates credential issuance using the Kotlin
And issuance method is credential offer
And issuance is performed on a cross device
When issuance flow is completed
Then credential is stored in the Wallet
When user presents the credential to the Proximity Verifier App
And presentation is performed on a proximity case
And user shares specific attributes (custom)
Then verifier verifies the credential successfully with passed
|
SUCCESS
|
|
Issuance and presentation - Proximity case
|
4: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer
issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=all attributes (full), status=passed
|
|
9 |
Given user initiates credential issuance using the Kotlin
And issuance method is credential offer
And issuance is performed on a cross device
When issuance flow is completed
Then credential is stored in the Wallet
When user presents the credential to the Proximity Verifier App
And presentation is performed on a proximity case
And user shares all attributes (full)
Then verifier verifies the credential successfully with passed
|
SUCCESS
|