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
**Note**: The `/provision` endpoint is part of the Provisioner service, not eVault Core. This is the **provisioning protocol** - any vault provider should expose such an endpoint to enable eVault creation.
180
180
181
+
**Note**: The `publicKey` parameter is optional. User eVaults require it for signature verification and key binding, while keyless eVaults (platforms, groups) can be provisioned without it.
publicKey: publicKey// Optional: omit for keyless eVaults (platforms, groups)
347
349
})
348
350
});
349
351
350
352
const { w3id, uri } =awaitprovisionResponse.json();
351
353
```
352
354
353
-
**Note**: The `/provision` endpoint is hosted by the Provisioner service, not eVault Core.
355
+
**Note**: The `/provision` endpoint is hosted by the Provisioner service, not eVault Core. The `publicKey` parameter is optional - it's required for user eVaults that need signature verification, but can be omitted for keyless eVaults like platforms or groups.
Copy file name to clipboardExpand all lines: docs/docs/Infrastructure/eVault-Key-Delegation.md
+27-6Lines changed: 27 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ The default key ID is `"default"` and is used for all signing operations.
25
25
26
26
### Setting Keys During eVault Creation
27
27
28
-
During the eVault provisioning process (onboarding), the public key can be set directly when creating the eVault. The `/provision` endpoint accepts a`publicKey` parameter:
28
+
During the eVault provisioning process (onboarding), the public key can be set directly when creating the eVault. The `/provision` endpoint accepts an optional`publicKey` parameter:
When provisioning an eVault during onboarding, the eID wallet:
43
+
**Note**: The `publicKey` parameter is optional. It is required for user eVaults that need key binding for signature verification, but can be omitted for keyless eVaults (such as platform or group eVaults) that don't require cryptographic identity.
44
+
45
+
When provisioning a user eVault during onboarding, the eID wallet:
44
46
1. Generates or retrieves the public key using `getApplicationPublicKey()`
45
47
2. Includes the `publicKey` in the provision request
46
48
3. The eVault stores the public key and generates a key binding certificate automatically
47
49
48
50
This eliminates the need for a separate sync step when the eVault is first created.
49
51
52
+
For platform or group eVaults that don't need key binding, the `publicKey` can be omitted entirely.
53
+
50
54
### Syncing Public Keys to eVault
51
55
52
56
The public key syncing is an autonomous process done by the eID Wallet when linking new devices to the same eName.
@@ -155,7 +159,7 @@ X-ENAME: @user.w3id
155
159
### Setting Public Key During eVault Creation
156
160
157
161
```typescript
158
-
// During onboarding - provision eVault with public key
162
+
// During onboarding - provision user eVault with public key
159
163
const publicKey =awaitgetApplicationPublicKey(); // Get public key from KeyService
Copy file name to clipboardExpand all lines: docs/docs/W3DS Protocol/Signature-Formats.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -328,8 +328,9 @@ The provisioning process creates an eVault tied to your generated public key:
328
328
-`registryEntropy`: JWT token from step 1
329
329
-`namespace`: Identifier from step 2
330
330
-`verificationId`: Verification code (demo code or your verification ID)
331
-
-`publicKey`: Multibase-encoded public key from key generation
332
-
- Provisioner validates entropy, generates W3ID, creates eVault, stores public key, and requests key binding certificate from Registry
331
+
-`publicKey` (optional): Multibase-encoded public key from key generation
332
+
- Provisioner validates entropy, generates W3ID, creates eVault, and if publicKey is provided, stores it and requests key binding certificate from Registry
333
+
-**Note**: `publicKey` is required for user eVaults that need signature verification, but optional for keyless eVaults (platforms, groups)
333
334
334
335
4.**Receive Credentials**
335
336
- Receive `w3id` (eName) and `uri` (eVault URI) in response
0 commit comments