@startuml autonumber hide footbox 'participant actor "User" as user participant "Wallet Instance" as app participant "Device Integrity Service" as aats #springgreen participant "Wallet Provider backend" as bck group only upon first installation of the app user->app: starts the app (first use) activate app app->app: Check if the device meets the minimum security requirements\nand if **Device Integrity Service** is available rnote over app,bck #LIGHTGREEN Check Wallet Provider is part of the Federation and obtain its metadata endrnote app->bck: Get **challenge** activate bck bck->bck: Generate one time use **challenge** bck-->app: **challenge** deactivate bck app->app: Generate **Cryptographic Hardware Keys** pair and store **Cryptographic Hardware Key Tag** app->aats: attestKey(challenge, Cryptographic Hardware Key Tag) aats-->app: **Key Attestation** signed by OEM app->bck: Send **challenge**, **Key Attestation** and **Cryptographic Hardware Key Tag** activate bck bck->bck: Validate **challenge** bck->bck: Validate **Key Attestation** bck->bck: Store **Cryptographic Hardware Keys** bck-->app: OK deactivate bck app-->user: Wallet Instance Initialized deactivate app end @enduml
Decode URL
Submit
amiga
aws-orange
black-knight
bluegray
blueprint
cerulean-outline
cerulean
crt-amber
crt-green
cyborg-outline
cyborg
hacker
lightgray
mars
materia-outline
materia
metal
mimeograph
minty
plain
reddress-darkblue
reddress-darkgreen
reddress-darkorange
reddress-darkred
reddress-lightblue
reddress-lightgreen
reddress-lightorange
reddress-lightred
sandstone
silver
sketchy-outline
sketchy
spacelab
spacelab-white
superhero-outline
superhero
toy
united
vibrant
🎉 Discover the future PlantUML Web Editor! 🚀
PNG
SVG
ASCII Art