Skip to content

Commit

Permalink
doc: uml added to issue and verify revocable VC
Browse files Browse the repository at this point in the history
  • Loading branch information
nitin-vavdiya committed Sep 5, 2024
1 parent 0421797 commit 190ed6d
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 1 deletion.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,4 @@ For end-to-end testing both the application should be running.

2. Run tests

``./gradlew clean test`
``./gradlew clean test``
Binary file added docs/arc42/images/issue_revocable_vc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/arc42/images/verify_revocable_vc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
66 changes: 66 additions & 0 deletions docs/arc42/main.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,72 @@ group "Create Wallet"
end group
```

### Issue revocable credential

![issue_revocable_vc.png](images%2Fissue_revocable_vc.png)

```
@startuml
title issue revocable VC
actor User as User
participant "Managed identity wallet" as MIW
participant "Revocation service" as RS
group "Issue VC"
User -> MIW: "/api/credentials/issuer" with revocable=true
alt "If revocable then get issuer status list"
MIW -> RS: "/api/v1/revocations/statusEntry
alt If status list VC not created?
RS -> RS: Create StatusList credentail
RS -> MIW: Sign new status list VC
MIW -> MIW: Save status list into issuer table
RS<-- MIW: return sighed status list VC
RS -> RS: Store StatusList VC in DB
end
RS -> RS: Get Current StatusList Index for Issuer
RS -> RS: Incease statusList Index by 1 and save in DB
RS --> MIW: Return Status List
end
group "Create and Sign VC"
MIW -> MIW: Create credentail
alt "If revocable then add status list"
MIW -> MIW: Add Status List in VC
end
MIW -> MIW: Sign VC
end group
MIW --> User: Return revocable VC
end group
@enduml
```

### Verify revocable credential

![verify_revocable_vc.png](images%2Fverify_revocable_vc.png)

```
@startuml
actor User as User
participant "Managed Identity Wallet" as MIW
participant "Revocation service" as RS
title Verify VC with revocation status
group "Verify VC"
User -> MIW: "/api/credentials/validation?withCredentialExpiryDate=true&withRevocation=true"
alt "If withRevocation then check issuer status list"
MIW -> RS: "/api/v1/revocations/credentials/{issueId}"
RS -> RS: Get Current StatusList Index for Issuer
RS --> MIW: Return StatusList VC
end
group "Credential Validation"
MIW -> MIW: validate status list VC
MIW -> MIW: Valaidate vc index with encoded list of status list VC
MIW -> MIW: Check Credential is not expired
MIW -> MIW: Validate Credential JsonLD
MIW -> MIW: Verify Credential Signature
end group
MIW --> User: Return Valid or Invalid + Reason
@enduml
```

### Validate Verifiable Presentation

```plantuml
Expand Down

0 comments on commit 190ed6d

Please sign in to comment.