@gramota/issuer 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -7
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/issuer.d.ts +20 -1
- package/dist/issuer.d.ts.map +1 -1
- package/dist/issuer.js +21 -1
- package/dist/issuer.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @gramota/issuer
|
|
2
2
|
|
|
3
|
-
> EUDIW credential issuer — sign SD-JWT-VC credentials with selective disclosure and key binding.
|
|
3
|
+
> EUDIW credential issuer — sign SD-JWT-VC credentials with selective disclosure and holder-key binding (cnf claim). One method, fully configurable, ES256 by default.
|
|
4
4
|
|
|
5
5
|
Part of [Gramota](https://github.com/gramota-org/gramota) — the TypeScript
|
|
6
6
|
SDK for the EU Digital Identity Wallet (EUDIW).
|
|
@@ -13,17 +13,50 @@ pnpm add @gramota/issuer
|
|
|
13
13
|
# or: yarn add @gramota/issuer
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## Quick example
|
|
17
17
|
|
|
18
18
|
```ts
|
|
19
19
|
import { Issuer } from "@gramota/issuer";
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
import { exportJWK, generateKeyPair } from "jose";
|
|
21
|
+
|
|
22
|
+
// Issuer's signing keypair (production: HSM / KMS — use makeSigner from @gramota/jose)
|
|
23
|
+
const { publicKey, privateKey } = await generateKeyPair("ES256", { extractable: true });
|
|
24
|
+
|
|
25
|
+
const issuer = new Issuer({
|
|
26
|
+
issuerId: "https://issuer.example",
|
|
27
|
+
publicKey: await exportJWK(publicKey),
|
|
28
|
+
privateKey: await exportJWK(privateKey),
|
|
29
|
+
alg: "ES256",
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const result = await issuer.issue({
|
|
33
|
+
vct: "urn:eudi:pid:1",
|
|
34
|
+
subject: {
|
|
35
|
+
given_name: "Greta",
|
|
36
|
+
family_name: "Smith",
|
|
37
|
+
birth_date: "1990-04-15",
|
|
38
|
+
},
|
|
39
|
+
selectivelyDisclosable: ["given_name", "family_name", "birth_date"],
|
|
40
|
+
holderKey: holderJwk, // binds the credential to the holder
|
|
41
|
+
expiresIn: 365 * 24 * 3600, // 1 year
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
console.log(result.token); // SD-JWT-VC compact-serialised string
|
|
23
45
|
```
|
|
24
46
|
|
|
25
|
-
|
|
26
|
-
|
|
47
|
+
## What's inside
|
|
48
|
+
|
|
49
|
+
- `Issuer` — single class, stateless, configured once
|
|
50
|
+
- Two equivalent call shapes for the same operation:
|
|
51
|
+
- `issuer.credentials.issue(options)` — Stripe-style namespacing, symmetric with `holder.credentials.*`, forward-compatible with future ops (revoke, suspend, list)
|
|
52
|
+
- `issuer.issue(options)` — flat shorthand for the common case
|
|
53
|
+
- `IssuerError` with stable `code` for failure cases (`issuer.holder_key_required`, `issuer.vct_required`, `issuer.expiry_invalid`, ...)
|
|
54
|
+
|
|
55
|
+
The `cnf.jwk` claim is set automatically from `holderKey`, binding the
|
|
56
|
+
credential to the holder's key for the KB-JWT proof during presentation.
|
|
57
|
+
|
|
58
|
+
For the high-level Holder / Verifier API, see the
|
|
59
|
+
[main repo](https://github.com/gramota-org/gramota).
|
|
27
60
|
|
|
28
61
|
## License
|
|
29
62
|
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EACL,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA6B,MAAM,aAAa,CAAC;AAChE,OAAO,EACL,WAAW,GAKZ,MAAM,YAAY,CAAC"}
|
package/dist/issuer.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { type JsonWebKey } from "@gramota/jose";
|
|
2
2
|
import { type IssueOptions, type IssueResult, type IssuerConfig } from "./types.js";
|
|
3
|
+
/** Stripe-style sub-API for credential operations.
|
|
4
|
+
* `issuer.credentials.X(...)`. */
|
|
5
|
+
export interface IssuerCredentialsApi {
|
|
6
|
+
/** Issue a single SD-JWT-VC credential bound to a holder. */
|
|
7
|
+
issue(options: IssueOptions): Promise<IssueResult>;
|
|
8
|
+
}
|
|
3
9
|
/**
|
|
4
10
|
* The issuer role per IETF SD-JWT-VC §3.
|
|
5
11
|
*
|
|
@@ -11,6 +17,12 @@ import { type IssueOptions, type IssueResult, type IssuerConfig } from "./types.
|
|
|
11
17
|
* appear in `subject`,
|
|
12
18
|
* - {@link Signer} Strategy for signing — accepts raw JWKs (shorthand)
|
|
13
19
|
* or production-grade Signers (HSM, KMS, custom backends).
|
|
20
|
+
*
|
|
21
|
+
* Two API shapes resolve to the same code path:
|
|
22
|
+
* - `issuer.credentials.issue(...)` — Stripe-style namespacing,
|
|
23
|
+
* symmetric with `holder.credentials.*` and forward-compatible
|
|
24
|
+
* with future operations (revoke, suspend, list).
|
|
25
|
+
* - `issuer.issue(...)` — flat shorthand for the common case.
|
|
14
26
|
*/
|
|
15
27
|
export declare class Issuer {
|
|
16
28
|
/** The issuer's signer. Either supplied directly via `config.signer`
|
|
@@ -21,9 +33,16 @@ export declare class Issuer {
|
|
|
21
33
|
private readonly kid;
|
|
22
34
|
private readonly typ;
|
|
23
35
|
private readonly hashAlg;
|
|
36
|
+
/** Credential operations. `issuer.credentials.{issue}(...)`. Mirrors
|
|
37
|
+
* `holder.credentials.*` for stylistic symmetry across the SDK. */
|
|
38
|
+
readonly credentials: IssuerCredentialsApi;
|
|
24
39
|
constructor(config: IssuerConfig);
|
|
25
|
-
/** Issue a single SD-JWT-VC credential bound to a holder.
|
|
40
|
+
/** Issue a single SD-JWT-VC credential bound to a holder.
|
|
41
|
+
*
|
|
42
|
+
* Equivalent to `issuer.credentials.issue(options)`. Both shapes are
|
|
43
|
+
* stable; pick whichever reads better at the call site. */
|
|
26
44
|
issue(options: IssueOptions): Promise<IssueResult>;
|
|
45
|
+
private issueImpl;
|
|
27
46
|
/** The issuer's public JWK — useful to publish at /.well-known/jwks.json. */
|
|
28
47
|
get publicKey(): JsonWebKey;
|
|
29
48
|
/** The issuer's identifier — useful for downstream URLs. */
|
package/dist/issuer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issuer.d.ts","sourceRoot":"","sources":["../src/issuer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,UAAU,EAAe,MAAM,eAAe,CAAC;AACvE,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAKpB
|
|
1
|
+
{"version":3,"file":"issuer.d.ts","sourceRoot":"","sources":["../src/issuer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,UAAU,EAAe,MAAM,eAAe,CAAC;AACvE,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAKpB;mCACmC;AACnC,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,MAAM;IACjB;4EACwE;IACxE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,sCAAsC;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqB;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAE9C;uEACmE;IACnE,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;gBAE/B,MAAM,EAAE,YAAY;IAiBhC;;;+DAG2D;IACrD,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;YAI1C,SAAS;IAsDvB,6EAA6E;IAC7E,IAAI,SAAS,IAAI,UAAU,CAE1B;IAED,4DAA4D;IAC5D,IAAI,QAAQ,IAAI,MAAM,CAErB;CACF"}
|
package/dist/issuer.js
CHANGED
|
@@ -15,6 +15,12 @@ const DEFAULT_HASH_ALG = "sha-256";
|
|
|
15
15
|
* appear in `subject`,
|
|
16
16
|
* - {@link Signer} Strategy for signing — accepts raw JWKs (shorthand)
|
|
17
17
|
* or production-grade Signers (HSM, KMS, custom backends).
|
|
18
|
+
*
|
|
19
|
+
* Two API shapes resolve to the same code path:
|
|
20
|
+
* - `issuer.credentials.issue(...)` — Stripe-style namespacing,
|
|
21
|
+
* symmetric with `holder.credentials.*` and forward-compatible
|
|
22
|
+
* with future operations (revoke, suspend, list).
|
|
23
|
+
* - `issuer.issue(...)` — flat shorthand for the common case.
|
|
18
24
|
*/
|
|
19
25
|
export class Issuer {
|
|
20
26
|
/** The issuer's signer. Either supplied directly via `config.signer`
|
|
@@ -25,6 +31,9 @@ export class Issuer {
|
|
|
25
31
|
kid;
|
|
26
32
|
typ;
|
|
27
33
|
hashAlg;
|
|
34
|
+
/** Credential operations. `issuer.credentials.{issue}(...)`. Mirrors
|
|
35
|
+
* `holder.credentials.*` for stylistic symmetry across the SDK. */
|
|
36
|
+
credentials;
|
|
28
37
|
constructor(config) {
|
|
29
38
|
if (typeof config.issuerId !== "string" || config.issuerId.length === 0) {
|
|
30
39
|
throw new TypeError("Issuer: issuerId is required (a stable URL)");
|
|
@@ -34,9 +43,20 @@ export class Issuer {
|
|
|
34
43
|
this.kid = config.kid;
|
|
35
44
|
this.typ = config.typ;
|
|
36
45
|
this.hashAlg = config.hashAlg;
|
|
46
|
+
// Build the namespaced sub-API. `issuer.credentials.issue` and
|
|
47
|
+
// `issuer.issue` both resolve here — single implementation.
|
|
48
|
+
this.credentials = {
|
|
49
|
+
issue: (options) => this.issueImpl(options),
|
|
50
|
+
};
|
|
37
51
|
}
|
|
38
|
-
/** Issue a single SD-JWT-VC credential bound to a holder.
|
|
52
|
+
/** Issue a single SD-JWT-VC credential bound to a holder.
|
|
53
|
+
*
|
|
54
|
+
* Equivalent to `issuer.credentials.issue(options)`. Both shapes are
|
|
55
|
+
* stable; pick whichever reads better at the call site. */
|
|
39
56
|
async issue(options) {
|
|
57
|
+
return this.issueImpl(options);
|
|
58
|
+
}
|
|
59
|
+
async issueImpl(options) {
|
|
40
60
|
validate(options);
|
|
41
61
|
const issuedAt = options.issuedAt ?? Math.floor(Date.now() / 1000);
|
|
42
62
|
const expiresAt = computeExpiry(options, issuedAt);
|
package/dist/issuer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issuer.js","sourceRoot":"","sources":["../src/issuer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAgB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAgC,MAAM,eAAe,CAAC;AACvE,OAAO,EACL,WAAW,GAIZ,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,GAAG,WAAW,CAAC;AAChC,MAAM,gBAAgB,GAAY,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"issuer.js","sourceRoot":"","sources":["../src/issuer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gramota/issuer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "EUDIW credential issuer — sign SD-JWT-VC credentials with selective disclosure and key binding.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"dist"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@gramota/jose": "0.
|
|
20
|
-
"@gramota/sd-jwt": "0.
|
|
19
|
+
"@gramota/jose": "0.2.0",
|
|
20
|
+
"@gramota/sd-jwt": "0.2.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"jose": "^5.9.6"
|