You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/openid4vp-support.md
+10-9Lines changed: 10 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,9 +34,9 @@ requesting and presenting Verifiable Credentials.
34
34
35
35
```mermaid
36
36
sequenceDiagram
37
-
participant 🌐 Verifier
37
+
participant Verifier as 🌐 Verifier
38
38
participant Inji_Wallet as 📱Inji Wallet
39
-
participant 🙋 User
39
+
participant User as 🙋 User
40
40
41
41
Verifier->>User: 1. Display Authorization Request as QR Code
42
42
User-->>Verifier: 2. Scan QR Code via Inji Wallet
@@ -63,7 +63,7 @@ The implementation of this feature involves the following steps:
63
63
64
64
- Below are the supported Client Id Scheme by the library:
65
65
66
-
-**pre-registered** : This client id scheme suggests that the verifier is already registered with the wallet and the trust is already established. The request must be signed when shared by reference.
66
+
-**pre-registered** : This client id scheme suggests that the verifier is already registered with the wallet and the trust is already established. The request must be signed when shared by reference. The request can be signed or unsigned when shared by value.
67
67
68
68
-**redirect-uri**: When the Client Identifier Scheme is `redirect_uri`, it specifies that the client id is Verifier's Response URI . In this case, the Authorization Request must not be signed
69
69
@@ -127,10 +127,11 @@ sequenceDiagram
127
127
Lib->>VP: HTTP POST Request with:<br/>1. VP Token<br/>2. Presentation Submission<br/>3. State
128
128
```
129
129
130
-
**Note:**
130
+
**Note:**
131
131
Holder binding support - The holder binding is a feature that allows the Verifier to ensure that the Verifiable Presentation is being presented by the same holder that holds the Verifiable Credentials.
132
-
* for ldp_vc format
133
-
* Supported for VCs signed with signature suite **_Ed25519Signature2020_**.
134
-
* for vc+sd-jwt and dc+sd-jwt format
135
-
* Via [cnf](https://www.ietf.org/archive/id/draft-ietf-oauth-sd-jwt-vc-10.html#section-3.2.2.2-3.4.2.1) claim and supported for `kid` only
Copy file name to clipboardExpand all lines: docs/revocation-support.md
+18-11Lines changed: 18 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,9 @@
2
2
3
3
This document explains how Inji Wallet determines whether a credential is valid, revoked, or in a pending/unknown state.
4
4
5
-
Revocation is based on the [**Status List 2021**](https://www.w3.org/TR/vc-bitstring-status-list/) mechanism. The wallet currently supports only `statusPurpose = "revocation"`. Additionally, the wallet only supports status check of credentials in the `ldp_vc` format. For other formats status check is bypassed for now.
5
+
Revocation is based on the [**Status List 2021**](https://www.w3.org/TR/vc-bitstring-status-list/) mechanism.
6
+
The wallet currently supports only `statusPurpose = "revocation"`. Additionally, the wallet only supports status check
7
+
of credentials in the `ldp_vc` format. For other formats status check is bypassed for now.
6
8
7
9
---
8
10
@@ -38,7 +40,7 @@ Revocation is based on the [**Status List 2021**](https://www.w3.org/TR/vc-bitst
38
40
K --> L{Bit Value}
39
41
40
42
L -->|0| R1[VALID]
41
-
L -->|>0| R2[REVOKED]
43
+
L -->|1| R2[REVOKED]
42
44
L -->|Error| R3[PENDING]
43
45
44
46
@@ -54,12 +56,14 @@ Revocation is based on the [**Status List 2021**](https://www.w3.org/TR/vc-bitst
54
56
55
57
## Step-By-Step Explanation
56
58
57
-
**The steps described below take place in the respective native modules of Android [VC verifier library](https://github.com/mosip/vc-verifier/tree/master/vc-verifier/kotlin)and iOS (embedded in iOS module within wallet)**
59
+
**The steps described below take place in the respective native modules of Android [VC verifier library](https://github.com/mosip/vc-verifier/tree/master/vc-verifier/kotlin) and iOS (embedded in iOS module within wallet)**
58
60
59
61
### 1. VC Downloaded
62
+
60
63
As soon as the credential is downloaded in the wallet, the status checking process begins automatically.
61
64
62
65
### 2. Extract `credentialStatus` Entries
66
+
63
67
The wallet reads the `credentialStatus` field from the credential and filters entries where:
64
68
65
69
```
@@ -71,6 +75,7 @@ statusPurpose == "revocation"
71
75
- If multiple entries exist, the wallet picks the one with matching purpose
72
76
73
77
### 3. Fetch Status List Credential
78
+
74
79
From the selected `credentialStatus` entry, the wallet extracts:
75
80
76
81
```js
@@ -95,30 +100,32 @@ The wallet performs comprehensive validation:
95
100
-**Bit extraction** — computes the bit value at `statusListIndex`
96
101
-**Returns** — final revocation status result
97
102
98
-
99
103
### 5. Interpreting the Result
100
104
101
105
After computing the status bit from the encoded list:
102
106
103
-
|`statusValue`| Meaning | Wallet Final State |
104
-
|---------------|---------|-------------------|
105
-
|`0`| Credential is valid |**VALID**|
106
-
|`>0`| Credential is revoked |**REVOKED**|
107
-
| Exception / network error / malformed data | Could not determine status |**PENDING**|
| Exception / network error / malformed data | Could not determine status |**PENDING**|
108
112
109
113
### 6. Final Wallet States
110
114
111
115
#### VALID ✓
116
+
112
117
-`statusValue = 0`
113
118
- No errors during processing
114
119
- Credential can be used normally
115
120
116
121
#### REVOKED ✗
117
-
-`statusValue > 0`
122
+
123
+
-`statusValue = 1`
118
124
- No errors during processing
119
125
- Credential should not be used
120
126
121
127
#### PENDING ⏳
128
+
122
129
The credential status could not be determined due to:
123
130
124
131
- Network failure or timeout
@@ -137,7 +144,7 @@ The wallet UI displays this state as **"Status Pending"**.
137
144
138
145
-**Purpose support:** Only `revocation` is currently supported. Future expansion may include `suspension` or other purposes as defined in the Status List 2021 specification.
-**Multi-bit status:** Credentials with `statusSize > 1`not supported.
141
148
142
149
-**iOS signature verification:** Full signature verification of the Status List VC will be added to the iOS library in a future update. Currently, this step is bypassed.
0 commit comments