@sd-jwt/core 0.2.1 → 2.0.2-next.26
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/LICENSE +201 -0
- package/dist/index.d.mts +106 -0
- package/dist/index.d.ts +106 -0
- package/dist/index.js +606 -0
- package/dist/index.mjs +586 -0
- package/package.json +60 -48
- package/src/decoy.ts +15 -0
- package/src/index.ts +235 -0
- package/src/jwt.ts +107 -0
- package/src/kbjwt.ts +45 -0
- package/src/sdjwt.ts +318 -0
- package/src/test/decoy.spec.ts +30 -0
- package/src/test/index.spec.ts +379 -0
- package/src/test/jwt.spec.ts +141 -0
- package/src/test/kbjwt.spec.ts +275 -0
- package/src/test/pass.spec.ts +6 -0
- package/src/test/sdjwt.spec.ts +382 -0
- package/test/app-e2e.spec.ts +248 -0
- package/test/array_data_types.json +29 -0
- package/test/array_full_sd.json +21 -0
- package/test/array_in_sd.json +13 -0
- package/test/array_nested_in_plain.json +20 -0
- package/test/array_none_disclosed.json +17 -0
- package/test/array_of_nulls.json +15 -0
- package/test/array_of_objects.json +58 -0
- package/test/array_of_scalars.json +15 -0
- package/test/array_recursive_sd.json +35 -0
- package/test/array_recursive_sd_some_disclosed.json +55 -0
- package/test/complex.json +43 -0
- package/test/header_mod.json +44 -0
- package/test/json_serialization.json +44 -0
- package/test/key_binding.json +44 -0
- package/test/no_sd.json +36 -0
- package/test/object_data_types.json +60 -0
- package/test/recursions.json +98 -0
- package/tsconfig.json +7 -0
- package/vitest.config.mts +4 -0
- package/README.md +0 -97
- package/build/base64url.d.ts +0 -28
- package/build/base64url.js +0 -40
- package/build/base64url.js.map +0 -1
- package/build/hasherAlgorithm.d.ts +0 -70
- package/build/hasherAlgorithm.js +0 -75
- package/build/hasherAlgorithm.js.map +0 -1
- package/build/index.d.ts +0 -13
- package/build/index.js +0 -20
- package/build/index.js.map +0 -1
- package/build/jwt/compact.d.ts +0 -6
- package/build/jwt/compact.js +0 -27
- package/build/jwt/compact.js.map +0 -1
- package/build/jwt/error.d.ts +0 -2
- package/build/jwt/error.js +0 -7
- package/build/jwt/error.js.map +0 -1
- package/build/jwt/index.d.ts +0 -2
- package/build/jwt/index.js +0 -19
- package/build/jwt/index.js.map +0 -1
- package/build/jwt/jwt.d.ts +0 -208
- package/build/jwt/jwt.js +0 -325
- package/build/jwt/jwt.js.map +0 -1
- package/build/keyBinding/index.d.ts +0 -1
- package/build/keyBinding/index.js +0 -18
- package/build/keyBinding/index.js.map +0 -1
- package/build/keyBinding/keyBinding.d.ts +0 -64
- package/build/keyBinding/keyBinding.js +0 -119
- package/build/keyBinding/keyBinding.js.map +0 -1
- package/build/sdJwt/compact.d.ts +0 -8
- package/build/sdJwt/compact.js +0 -39
- package/build/sdJwt/compact.js.map +0 -1
- package/build/sdJwt/decoys.d.ts +0 -3
- package/build/sdJwt/decoys.js +0 -35
- package/build/sdJwt/decoys.js.map +0 -1
- package/build/sdJwt/disclosureFrame.d.ts +0 -8
- package/build/sdJwt/disclosureFrame.js +0 -87
- package/build/sdJwt/disclosureFrame.js.map +0 -1
- package/build/sdJwt/disclosureMapping.d.ts +0 -43
- package/build/sdJwt/disclosureMapping.js +0 -278
- package/build/sdJwt/disclosureMapping.js.map +0 -1
- package/build/sdJwt/disclosures.d.ts +0 -33
- package/build/sdJwt/disclosures.js +0 -114
- package/build/sdJwt/disclosures.js.map +0 -1
- package/build/sdJwt/error.d.ts +0 -2
- package/build/sdJwt/error.js +0 -7
- package/build/sdJwt/error.js.map +0 -1
- package/build/sdJwt/index.d.ts +0 -6
- package/build/sdJwt/index.js +0 -23
- package/build/sdJwt/index.js.map +0 -1
- package/build/sdJwt/presentationFrame.d.ts +0 -3
- package/build/sdJwt/presentationFrame.js +0 -64
- package/build/sdJwt/presentationFrame.js.map +0 -1
- package/build/sdJwt/sdJwt.d.ts +0 -206
- package/build/sdJwt/sdJwt.js +0 -442
- package/build/sdJwt/sdJwt.js.map +0 -1
- package/build/sdJwt/swapClaim.d.ts +0 -2
- package/build/sdJwt/swapClaim.js +0 -79
- package/build/sdJwt/swapClaim.js.map +0 -1
- package/build/sdJwt/types.d.ts +0 -5
- package/build/sdJwt/types.js +0 -3
- package/build/sdJwt/types.js.map +0 -1
- package/build/sdJwtVc/error.d.ts +0 -2
- package/build/sdJwtVc/error.js +0 -7
- package/build/sdJwtVc/error.js.map +0 -1
- package/build/sdJwtVc/index.d.ts +0 -2
- package/build/sdJwtVc/index.js +0 -19
- package/build/sdJwtVc/index.js.map +0 -1
- package/build/sdJwtVc/sdJwtVc.d.ts +0 -47
- package/build/sdJwtVc/sdJwtVc.js +0 -149
- package/build/sdJwtVc/sdJwtVc.js.map +0 -1
- package/build/signatureAndEncryptionAlgorithm.d.ts +0 -105
- package/build/signatureAndEncryptionAlgorithm.js +0 -110
- package/build/signatureAndEncryptionAlgorithm.js.map +0 -1
- package/build/types/disclosure.d.ts +0 -5
- package/build/types/disclosure.js +0 -3
- package/build/types/disclosure.js.map +0 -1
- package/build/types/frame.d.ts +0 -5
- package/build/types/frame.js +0 -3
- package/build/types/frame.js.map +0 -1
- package/build/types/hasher.d.ts +0 -14
- package/build/types/hasher.js +0 -3
- package/build/types/hasher.js.map +0 -1
- package/build/types/index.d.ts +0 -5
- package/build/types/index.js +0 -22
- package/build/types/index.js.map +0 -1
- package/build/types/present.d.ts +0 -2
- package/build/types/present.js +0 -3
- package/build/types/present.js.map +0 -1
- package/build/types/saltGenerator.d.ts +0 -17
- package/build/types/saltGenerator.js +0 -3
- package/build/types/saltGenerator.js.map +0 -1
- package/build/types/signer.d.ts +0 -2
- package/build/types/signer.js +0 -3
- package/build/types/signer.js.map +0 -1
- package/build/types/utils.d.ts +0 -2
- package/build/types/utils.js +0 -3
- package/build/types/utils.js.map +0 -1
- package/build/types/verifier.d.ts +0 -14
- package/build/types/verifier.js +0 -3
- package/build/types/verifier.js.map +0 -1
- package/build/utils/index.d.ts +0 -2
- package/build/utils/index.js +0 -19
- package/build/utils/index.js.map +0 -1
- package/build/utils/traverse.d.ts +0 -8
- package/build/utils/traverse.js +0 -29
- package/build/utils/traverse.js.map +0 -1
- package/build/utils/utils.d.ts +0 -8
- package/build/utils/utils.js +0 -118
- package/build/utils/utils.js.map +0 -1
package/build/sdJwtVc/sdJwtVc.js
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.SdJwtVc = void 0;
|
|
13
|
-
const sdJwt_1 = require("../sdJwt");
|
|
14
|
-
const sdJwt_2 = require("../sdJwt");
|
|
15
|
-
const jwt_1 = require("../jwt");
|
|
16
|
-
const decode_1 = require("@sd-jwt/decode");
|
|
17
|
-
const keyBinding_1 = require("../keyBinding");
|
|
18
|
-
class SdJwtVc extends sdJwt_2.SdJwt {
|
|
19
|
-
assertNonSelectivelyDisclosableClaims() {
|
|
20
|
-
if (!this.disclosureFrame)
|
|
21
|
-
return;
|
|
22
|
-
const nonSelectivelyDisclosableClaims = [
|
|
23
|
-
'iss',
|
|
24
|
-
'iat',
|
|
25
|
-
'nbf',
|
|
26
|
-
'exp',
|
|
27
|
-
'cnf',
|
|
28
|
-
'vct',
|
|
29
|
-
'status'
|
|
30
|
-
];
|
|
31
|
-
for (const claimKey of nonSelectivelyDisclosableClaims) {
|
|
32
|
-
this.assertNonSelectivelyDisclosableClaim(claimKey);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
validateSdJwtVc(expectedCnfClaim) {
|
|
36
|
-
try {
|
|
37
|
-
this.assertNonSelectivelyDisclosableClaims();
|
|
38
|
-
this.assertHeader();
|
|
39
|
-
this.assertPayload();
|
|
40
|
-
this.assertClaimInHeader('typ', 'vc+sd-jwt');
|
|
41
|
-
this.assertClaimInHeader('alg');
|
|
42
|
-
this.assertClaimInPayload('iss');
|
|
43
|
-
this.assertClaimInPayload('vct');
|
|
44
|
-
this.assertClaimInPayload('iat');
|
|
45
|
-
if (expectedCnfClaim) {
|
|
46
|
-
this.assertClaimInPayload('cnf', expectedCnfClaim);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
catch (e) {
|
|
50
|
-
if (e instanceof Error) {
|
|
51
|
-
e.message = `jwt is not valid for usage with sd-jwt-vc. Error: ${e.message}`;
|
|
52
|
-
}
|
|
53
|
-
throw e;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
*
|
|
58
|
-
* Instantiate a sd-jwt-vc from a compact format.
|
|
59
|
-
*
|
|
60
|
-
* @throws when the compact sd-jwt-vc is not a valid sd-jwt-vc
|
|
61
|
-
*
|
|
62
|
-
*/
|
|
63
|
-
static fromCompact(compact) {
|
|
64
|
-
const { disclosures: d, keyBinding: kb, signature, payload, header } = (0, decode_1.sdJwtVcFromCompact)(compact);
|
|
65
|
-
const disclosures = d === null || d === void 0 ? void 0 : d.map((disclosure) => new sdJwt_1.Disclosure(disclosure.salt, disclosure.value, disclosure.key));
|
|
66
|
-
const keyBinding = kb
|
|
67
|
-
? new keyBinding_1.KeyBinding()
|
|
68
|
-
.withHeader(kb.header)
|
|
69
|
-
.withPayload(kb.payload)
|
|
70
|
-
.withSignature(kb.signature)
|
|
71
|
-
: undefined;
|
|
72
|
-
const sdJwtVc = new SdJwtVc({
|
|
73
|
-
header,
|
|
74
|
-
payload,
|
|
75
|
-
signature,
|
|
76
|
-
disclosures,
|
|
77
|
-
keyBinding
|
|
78
|
-
});
|
|
79
|
-
sdJwtVc.compact = compact;
|
|
80
|
-
return sdJwtVc;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
*
|
|
84
|
-
* Verify the sd-jwt-vc.
|
|
85
|
-
*
|
|
86
|
-
* It validates the following properties:
|
|
87
|
-
* - sd-jwt issuer signature
|
|
88
|
-
* - Optionally, the required claims
|
|
89
|
-
* - The `nbf` and `exp` claims
|
|
90
|
-
* - Whether the key binding is valid
|
|
91
|
-
* - Whether the expected key binding is used
|
|
92
|
-
* - Whether the required sd-jwt-vc properties are included
|
|
93
|
-
*
|
|
94
|
-
*/
|
|
95
|
-
verify(verifier, requiredClaimKeys, expectedCnfClaim, kbJwtPublicKeyJwk, issuerPublicKeyJwk) {
|
|
96
|
-
const _super = Object.create(null, {
|
|
97
|
-
verify: { get: () => super.verify }
|
|
98
|
-
});
|
|
99
|
-
var _a, _b;
|
|
100
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
101
|
-
const kbJwtPublicKeyJwkToUse = kbJwtPublicKeyJwk !== null && kbJwtPublicKeyJwk !== void 0 ? kbJwtPublicKeyJwk : (_b = (_a = this.payload) === null || _a === void 0 ? void 0 : _a.cnf) === null || _b === void 0 ? void 0 : _b.jwk;
|
|
102
|
-
const sdJwtVerificationResult = (yield _super.verify.call(this, verifier, requiredClaimKeys, kbJwtPublicKeyJwkToUse, issuerPublicKeyJwk));
|
|
103
|
-
try {
|
|
104
|
-
sdJwtVerificationResult.containsRequiredVcProperties = true;
|
|
105
|
-
this.validateSdJwtVc(expectedCnfClaim);
|
|
106
|
-
if (expectedCnfClaim) {
|
|
107
|
-
sdJwtVerificationResult.containsExpectedKeyBinding = true;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
catch (e) {
|
|
111
|
-
if (e instanceof jwt_1.JwtError &&
|
|
112
|
-
e.message ==
|
|
113
|
-
"jwt is not valid for usage with sd-jwt-vc. Error: Claim key 'cnf' was found, but values did not match within the payload") {
|
|
114
|
-
sdJwtVerificationResult.containsExpectedKeyBinding = false;
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
sdJwtVerificationResult.containsRequiredVcProperties = false;
|
|
118
|
-
}
|
|
119
|
-
// The verification result is not valid if an error occurred
|
|
120
|
-
sdJwtVerificationResult.isValid = false;
|
|
121
|
-
}
|
|
122
|
-
return sdJwtVerificationResult;
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
*
|
|
127
|
-
* Create a compact format of the sd-jwt-vc.
|
|
128
|
-
*
|
|
129
|
-
* This will
|
|
130
|
-
* - Apply the disclosure frame
|
|
131
|
-
* - Add a signature if there is none
|
|
132
|
-
*
|
|
133
|
-
* @throws when the sd-jwt-vc is not conformant to the specification
|
|
134
|
-
* @throws When the signature and signer are not defined
|
|
135
|
-
* @throws When a claim is requested to be selectively disclosable, but it was not found in the payload
|
|
136
|
-
*
|
|
137
|
-
*/
|
|
138
|
-
toCompact() {
|
|
139
|
-
const _super = Object.create(null, {
|
|
140
|
-
toCompact: { get: () => super.toCompact }
|
|
141
|
-
});
|
|
142
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
143
|
-
this.validateSdJwtVc();
|
|
144
|
-
return yield _super.toCompact.call(this);
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
exports.SdJwtVc = SdJwtVc;
|
|
149
|
-
//# sourceMappingURL=sdJwtVc.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sdJwtVc.js","sourceRoot":"","sources":["../../src/sdJwtVc/sdJwtVc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enumeration representing various JSON Web Token (JWT) algorithms for digital signatures and encryption.
|
|
3
|
-
*/
|
|
4
|
-
export declare enum SignatureAndEncryptionAlgorithm {
|
|
5
|
-
/**
|
|
6
|
-
* RSASSA-PKCS1-v1_5 using SHA-256
|
|
7
|
-
*/
|
|
8
|
-
RS256 = "RS256",
|
|
9
|
-
/**
|
|
10
|
-
* RSASSA-PKCS1-v1_5 using SHA-384
|
|
11
|
-
*/
|
|
12
|
-
RS384 = "RS384",
|
|
13
|
-
/**
|
|
14
|
-
* RSASSA-PKCS1-v1_5 using SHA-512
|
|
15
|
-
*/
|
|
16
|
-
RS512 = "RS512",
|
|
17
|
-
/**
|
|
18
|
-
* ECDSA using P-256 and SHA-256
|
|
19
|
-
*/
|
|
20
|
-
ES256 = "ES256",
|
|
21
|
-
/**
|
|
22
|
-
* ECDSA using P-384 and SHA-384
|
|
23
|
-
*/
|
|
24
|
-
ES384 = "ES384",
|
|
25
|
-
/**
|
|
26
|
-
* ECDSA using P-521 and SHA-512
|
|
27
|
-
*/
|
|
28
|
-
ES512 = "ES512",
|
|
29
|
-
/**
|
|
30
|
-
* RSA-PSS using SHA-256
|
|
31
|
-
*/
|
|
32
|
-
PS256 = "PS256",
|
|
33
|
-
/**
|
|
34
|
-
* RSA-PSS using SHA-384
|
|
35
|
-
*/
|
|
36
|
-
PS384 = "PS384",
|
|
37
|
-
/**
|
|
38
|
-
* RSA-PSS using SHA-512
|
|
39
|
-
*/
|
|
40
|
-
PS512 = "PS512",
|
|
41
|
-
/**
|
|
42
|
-
* No digital signature or MAC performed
|
|
43
|
-
*/
|
|
44
|
-
none = "none",
|
|
45
|
-
/**
|
|
46
|
-
* RSAES-PKCS1-v1_5
|
|
47
|
-
*/
|
|
48
|
-
RSA1_5 = "RSA1_5",
|
|
49
|
-
/**
|
|
50
|
-
* RSAES OAEP
|
|
51
|
-
*/
|
|
52
|
-
RSA_OAEP = "RSA-OAEP",
|
|
53
|
-
/**
|
|
54
|
-
* RSAES OAEP using SHA-256
|
|
55
|
-
*/
|
|
56
|
-
RSA_OAEP_256 = "RSA-OAEP-256",
|
|
57
|
-
/**
|
|
58
|
-
* AES Key Wrap using 128-bit key
|
|
59
|
-
*/
|
|
60
|
-
A128KW = "A128KW",
|
|
61
|
-
/**
|
|
62
|
-
* AES Key Wrap using 192-bit key
|
|
63
|
-
*/
|
|
64
|
-
A192KW = "A192KW",
|
|
65
|
-
/**
|
|
66
|
-
* AES Key Wrap using 256-bit key
|
|
67
|
-
*/
|
|
68
|
-
A256KW = "A256KW",
|
|
69
|
-
/**
|
|
70
|
-
* Direct use of a shared symmetric key
|
|
71
|
-
*/
|
|
72
|
-
dir = "dir",
|
|
73
|
-
/**
|
|
74
|
-
* ECDH-ES using Concat KDF
|
|
75
|
-
*/
|
|
76
|
-
ECDH_ES = "ECDH-ES",
|
|
77
|
-
/**
|
|
78
|
-
* EdDSA signature algorithms
|
|
79
|
-
*/
|
|
80
|
-
EdDSA = "EdDSA",
|
|
81
|
-
/**
|
|
82
|
-
* ECDH-ES using Concat KDF and "A128KW" wrapping
|
|
83
|
-
*/
|
|
84
|
-
ECDH_ES_A128KW = "ECDH-ES+A128KW",
|
|
85
|
-
/**
|
|
86
|
-
* ECDH-ES using Concat KDF and "A192KW" wrapping
|
|
87
|
-
*/
|
|
88
|
-
ECDH_ES_A192KW = "ECDH-ES+A192KW",
|
|
89
|
-
/**
|
|
90
|
-
* ECDH-ES using Concat KDF and "A256KW" wrapping
|
|
91
|
-
*/
|
|
92
|
-
ECDH_ES_A256KW = "ECDH-ES+A256KW",
|
|
93
|
-
/**
|
|
94
|
-
* Key wrapping with AES GCM using 128-bit key
|
|
95
|
-
*/
|
|
96
|
-
A128GCMKW = "A128GCMKW",
|
|
97
|
-
/**
|
|
98
|
-
* Key wrapping with AES GCM using 192-bit key
|
|
99
|
-
*/
|
|
100
|
-
A192GCMKW = "A192GCMKW",
|
|
101
|
-
/**
|
|
102
|
-
* Key wrapping with AES GCM using 256-bit key
|
|
103
|
-
*/
|
|
104
|
-
A256GCMKW = "A256GCMKW"
|
|
105
|
-
}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SignatureAndEncryptionAlgorithm = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Enumeration representing various JSON Web Token (JWT) algorithms for digital signatures and encryption.
|
|
6
|
-
*/
|
|
7
|
-
var SignatureAndEncryptionAlgorithm;
|
|
8
|
-
(function (SignatureAndEncryptionAlgorithm) {
|
|
9
|
-
/**
|
|
10
|
-
* RSASSA-PKCS1-v1_5 using SHA-256
|
|
11
|
-
*/
|
|
12
|
-
SignatureAndEncryptionAlgorithm["RS256"] = "RS256";
|
|
13
|
-
/**
|
|
14
|
-
* RSASSA-PKCS1-v1_5 using SHA-384
|
|
15
|
-
*/
|
|
16
|
-
SignatureAndEncryptionAlgorithm["RS384"] = "RS384";
|
|
17
|
-
/**
|
|
18
|
-
* RSASSA-PKCS1-v1_5 using SHA-512
|
|
19
|
-
*/
|
|
20
|
-
SignatureAndEncryptionAlgorithm["RS512"] = "RS512";
|
|
21
|
-
/**
|
|
22
|
-
* ECDSA using P-256 and SHA-256
|
|
23
|
-
*/
|
|
24
|
-
SignatureAndEncryptionAlgorithm["ES256"] = "ES256";
|
|
25
|
-
/**
|
|
26
|
-
* ECDSA using P-384 and SHA-384
|
|
27
|
-
*/
|
|
28
|
-
SignatureAndEncryptionAlgorithm["ES384"] = "ES384";
|
|
29
|
-
/**
|
|
30
|
-
* ECDSA using P-521 and SHA-512
|
|
31
|
-
*/
|
|
32
|
-
SignatureAndEncryptionAlgorithm["ES512"] = "ES512";
|
|
33
|
-
/**
|
|
34
|
-
* RSA-PSS using SHA-256
|
|
35
|
-
*/
|
|
36
|
-
SignatureAndEncryptionAlgorithm["PS256"] = "PS256";
|
|
37
|
-
/**
|
|
38
|
-
* RSA-PSS using SHA-384
|
|
39
|
-
*/
|
|
40
|
-
SignatureAndEncryptionAlgorithm["PS384"] = "PS384";
|
|
41
|
-
/**
|
|
42
|
-
* RSA-PSS using SHA-512
|
|
43
|
-
*/
|
|
44
|
-
SignatureAndEncryptionAlgorithm["PS512"] = "PS512";
|
|
45
|
-
/**
|
|
46
|
-
* No digital signature or MAC performed
|
|
47
|
-
*/
|
|
48
|
-
SignatureAndEncryptionAlgorithm["none"] = "none";
|
|
49
|
-
/**
|
|
50
|
-
* RSAES-PKCS1-v1_5
|
|
51
|
-
*/
|
|
52
|
-
SignatureAndEncryptionAlgorithm["RSA1_5"] = "RSA1_5";
|
|
53
|
-
/**
|
|
54
|
-
* RSAES OAEP
|
|
55
|
-
*/
|
|
56
|
-
SignatureAndEncryptionAlgorithm["RSA_OAEP"] = "RSA-OAEP";
|
|
57
|
-
/**
|
|
58
|
-
* RSAES OAEP using SHA-256
|
|
59
|
-
*/
|
|
60
|
-
SignatureAndEncryptionAlgorithm["RSA_OAEP_256"] = "RSA-OAEP-256";
|
|
61
|
-
/**
|
|
62
|
-
* AES Key Wrap using 128-bit key
|
|
63
|
-
*/
|
|
64
|
-
SignatureAndEncryptionAlgorithm["A128KW"] = "A128KW";
|
|
65
|
-
/**
|
|
66
|
-
* AES Key Wrap using 192-bit key
|
|
67
|
-
*/
|
|
68
|
-
SignatureAndEncryptionAlgorithm["A192KW"] = "A192KW";
|
|
69
|
-
/**
|
|
70
|
-
* AES Key Wrap using 256-bit key
|
|
71
|
-
*/
|
|
72
|
-
SignatureAndEncryptionAlgorithm["A256KW"] = "A256KW";
|
|
73
|
-
/**
|
|
74
|
-
* Direct use of a shared symmetric key
|
|
75
|
-
*/
|
|
76
|
-
SignatureAndEncryptionAlgorithm["dir"] = "dir";
|
|
77
|
-
/**
|
|
78
|
-
* ECDH-ES using Concat KDF
|
|
79
|
-
*/
|
|
80
|
-
SignatureAndEncryptionAlgorithm["ECDH_ES"] = "ECDH-ES";
|
|
81
|
-
/**
|
|
82
|
-
* EdDSA signature algorithms
|
|
83
|
-
*/
|
|
84
|
-
SignatureAndEncryptionAlgorithm["EdDSA"] = "EdDSA";
|
|
85
|
-
/**
|
|
86
|
-
* ECDH-ES using Concat KDF and "A128KW" wrapping
|
|
87
|
-
*/
|
|
88
|
-
SignatureAndEncryptionAlgorithm["ECDH_ES_A128KW"] = "ECDH-ES+A128KW";
|
|
89
|
-
/**
|
|
90
|
-
* ECDH-ES using Concat KDF and "A192KW" wrapping
|
|
91
|
-
*/
|
|
92
|
-
SignatureAndEncryptionAlgorithm["ECDH_ES_A192KW"] = "ECDH-ES+A192KW";
|
|
93
|
-
/**
|
|
94
|
-
* ECDH-ES using Concat KDF and "A256KW" wrapping
|
|
95
|
-
*/
|
|
96
|
-
SignatureAndEncryptionAlgorithm["ECDH_ES_A256KW"] = "ECDH-ES+A256KW";
|
|
97
|
-
/**
|
|
98
|
-
* Key wrapping with AES GCM using 128-bit key
|
|
99
|
-
*/
|
|
100
|
-
SignatureAndEncryptionAlgorithm["A128GCMKW"] = "A128GCMKW";
|
|
101
|
-
/**
|
|
102
|
-
* Key wrapping with AES GCM using 192-bit key
|
|
103
|
-
*/
|
|
104
|
-
SignatureAndEncryptionAlgorithm["A192GCMKW"] = "A192GCMKW";
|
|
105
|
-
/**
|
|
106
|
-
* Key wrapping with AES GCM using 256-bit key
|
|
107
|
-
*/
|
|
108
|
-
SignatureAndEncryptionAlgorithm["A256GCMKW"] = "A256GCMKW";
|
|
109
|
-
})(SignatureAndEncryptionAlgorithm || (exports.SignatureAndEncryptionAlgorithm = SignatureAndEncryptionAlgorithm = {}));
|
|
110
|
-
//# sourceMappingURL=signatureAndEncryptionAlgorithm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signatureAndEncryptionAlgorithm.js","sourceRoot":"","sources":["../src/signatureAndEncryptionAlgorithm.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,+BA6HX;AA7HD,WAAY,+BAA+B;IACvC;;OAEG;IACH,kDAAe,CAAA;IAEf;;OAEG;IACH,kDAAe,CAAA;IAEf;;OAEG;IACH,kDAAe,CAAA;IAEf;;OAEG;IACH,kDAAe,CAAA;IAEf;;OAEG;IACH,kDAAe,CAAA;IAEf;;OAEG;IACH,kDAAe,CAAA;IAEf;;OAEG;IACH,kDAAe,CAAA;IAEf;;OAEG;IACH,kDAAe,CAAA;IAEf;;OAEG;IACH,kDAAe,CAAA;IAEf;;OAEG;IACH,gDAAa,CAAA;IAEb;;OAEG;IACH,oDAAiB,CAAA;IAEjB;;OAEG;IACH,wDAAqB,CAAA;IAErB;;OAEG;IACH,gEAA6B,CAAA;IAE7B;;OAEG;IACH,oDAAiB,CAAA;IAEjB;;OAEG;IACH,oDAAiB,CAAA;IAEjB;;OAEG;IACH,oDAAiB,CAAA;IAEjB;;OAEG;IACH,8CAAW,CAAA;IAEX;;OAEG;IACH,sDAAmB,CAAA;IAEnB;;OAEG;IACH,kDAAe,CAAA;IAEf;;OAEG;IACH,oEAAiC,CAAA;IAEjC;;OAEG;IACH,oEAAiC,CAAA;IAEjC;;OAEG;IACH,oEAAiC,CAAA;IAEjC;;OAEG;IACH,0DAAuB,CAAA;IAEvB;;OAEG;IACH,0DAAuB,CAAA;IAEvB;;OAEG;IACH,0DAAuB,CAAA;AAC3B,CAAC,EA7HW,+BAA+B,+CAA/B,+BAA+B,QA6H1C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"disclosure.js","sourceRoot":"","sources":["../../src/types/disclosure.ts"],"names":[],"mappings":""}
|
package/build/types/frame.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export type BaseFrame<Payload, ExtraProperties> = Payload extends Array<unknown> ? {
|
|
2
|
-
[K in keyof Payload]?: Payload[K] extends Record<string | number, unknown> ? BaseFrame<Payload[K], ExtraProperties> | boolean : boolean;
|
|
3
|
-
} : Payload extends Record<string, unknown> ? {
|
|
4
|
-
[K in keyof Payload]?: Payload[K] extends Array<unknown> ? BaseFrame<Payload[K], ExtraProperties> | boolean : Payload[K] extends Record<string, unknown> ? (ExtraProperties & BaseFrame<Payload[K], ExtraProperties>) | boolean : boolean;
|
|
5
|
-
} & ExtraProperties & Record<string, unknown> : boolean;
|
package/build/types/frame.js
DELETED
package/build/types/frame.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../../src/types/frame.ts"],"names":[],"mappings":""}
|
package/build/types/hasher.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { HasherAlgorithm } from '@sd-jwt/utils';
|
|
2
|
-
import { OrPromise } from './utils';
|
|
3
|
-
/**
|
|
4
|
-
* A simple hash function that takes the base64url encoded variant of the disclosure and returns the digest as a byte array
|
|
5
|
-
*/
|
|
6
|
-
export type Hasher = (input: string) => OrPromise<Uint8Array>;
|
|
7
|
-
/**
|
|
8
|
-
* hasher: A simple hash function that takes the base64url encoded variant of the disclosure and returns the digest as a byte array
|
|
9
|
-
* algorithm: IANA defined string for the hashing algorithm used
|
|
10
|
-
*/
|
|
11
|
-
export type HasherAndAlgorithm = {
|
|
12
|
-
hasher: Hasher;
|
|
13
|
-
algorithm: string | HasherAlgorithm;
|
|
14
|
-
};
|
package/build/types/hasher.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hasher.js","sourceRoot":"","sources":["../../src/types/hasher.ts"],"names":[],"mappings":""}
|
package/build/types/index.d.ts
DELETED
package/build/types/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./utils"), exports);
|
|
18
|
-
__exportStar(require("./signer"), exports);
|
|
19
|
-
__exportStar(require("./verifier"), exports);
|
|
20
|
-
__exportStar(require("./disclosure"), exports);
|
|
21
|
-
__exportStar(require("./saltGenerator"), exports);
|
|
22
|
-
//# sourceMappingURL=index.js.map
|
package/build/types/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,2CAAwB;AACxB,6CAA0B;AAC1B,+CAA4B;AAC5B,kDAA+B"}
|
package/build/types/present.d.ts
DELETED
package/build/types/present.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"present.js","sourceRoot":"","sources":["../../src/types/present.ts"],"names":[],"mappings":""}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { OrPromise } from './utils';
|
|
2
|
-
/**
|
|
3
|
-
* Function which returns a salt generated by a CSPRNG.
|
|
4
|
-
*
|
|
5
|
-
* Recommended size is 128 bits (i.e. 16 bytes).
|
|
6
|
-
*
|
|
7
|
-
* Salts will not be seeded and a new one will be used for each claim.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
*
|
|
11
|
-
* Node.js: `crypto.randomBytes(128 / 8)`
|
|
12
|
-
*
|
|
13
|
-
* React Native: `expo-standard-web-crypto`
|
|
14
|
-
*
|
|
15
|
-
* Browser: `crypto.getRandomValues(new Uint8Array(128 / 8))`
|
|
16
|
-
*/
|
|
17
|
-
export type SaltGenerator = () => OrPromise<string>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"saltGenerator.js","sourceRoot":"","sources":["../../src/types/saltGenerator.ts"],"names":[],"mappings":""}
|
package/build/types/signer.d.ts
DELETED
package/build/types/signer.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/types/signer.ts"],"names":[],"mappings":""}
|
package/build/types/utils.d.ts
DELETED
package/build/types/utils.js
DELETED
package/build/types/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/types/utils.ts"],"names":[],"mappings":""}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { OrPromise } from './utils';
|
|
2
|
-
export type VerifyOptions<Header extends Record<string, unknown>> = {
|
|
3
|
-
message: string;
|
|
4
|
-
signature: Uint8Array;
|
|
5
|
-
header: Header;
|
|
6
|
-
/**
|
|
7
|
-
* The public key jwk is included when the `sd-jwt` has the following properties:
|
|
8
|
-
*
|
|
9
|
-
* - A `cnf` claim inside the cleartext payload
|
|
10
|
-
* - A Keybinding at the end
|
|
11
|
-
*/
|
|
12
|
-
publicKeyJwk?: Record<string, unknown>;
|
|
13
|
-
};
|
|
14
|
-
export type Verifier<Header extends Record<string, unknown> = Record<string, unknown>, options extends VerifyOptions<Header> = VerifyOptions<Header>> = (options: options) => OrPromise<boolean>;
|
package/build/types/verifier.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../src/types/verifier.ts"],"names":[],"mappings":""}
|
package/build/utils/index.d.ts
DELETED
package/build/utils/index.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./traverse"), exports);
|
|
18
|
-
__exportStar(require("./utils"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
package/build/utils/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,0CAAuB"}
|
package/build/utils/traverse.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.traverseNodes = void 0;
|
|
4
|
-
const traverseNodes = (object, path = []) => {
|
|
5
|
-
const result = [];
|
|
6
|
-
if (typeof object !== 'object' || object === null) {
|
|
7
|
-
return [{ path: [], value: object, isLeaf: true }];
|
|
8
|
-
}
|
|
9
|
-
for (const key in object) {
|
|
10
|
-
if (object.hasOwnProperty(key)) {
|
|
11
|
-
const currentPath = [...path, key];
|
|
12
|
-
const value = object[key];
|
|
13
|
-
// Value must be object / array, and have at least some values in it
|
|
14
|
-
if (typeof value === 'object' &&
|
|
15
|
-
value !== null &&
|
|
16
|
-
Object.keys(value).length > 0) {
|
|
17
|
-
// Recursively traverse nested objects or arrays
|
|
18
|
-
result.push(...(0, exports.traverseNodes)(value, currentPath));
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
// Leaf node found
|
|
22
|
-
result.push({ path: currentPath, value, isLeaf: true });
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return result;
|
|
27
|
-
};
|
|
28
|
-
exports.traverseNodes = traverseNodes;
|
|
29
|
-
//# sourceMappingURL=traverse.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../src/utils/traverse.ts"],"names":[],"mappings":";;;AAAO,MAAM,aAAa,GAAG,CACzB,MAAW,EACX,OAAmB,EAAE,EACX,EAAE;IACZ,MAAM,MAAM,GAAe,EAAE,CAAA;IAE7B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAA;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,GAA0B,CAAC,CAAA;YAEhD,oEAAoE;YACpE,IACI,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,KAAK,IAAI;gBACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAC/B,CAAC;gBACC,gDAAgD;gBAChD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,qBAAa,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAA;YACrD,CAAC;iBAAM,CAAC;gBACJ,kBAAkB;gBAClB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;YAC3D,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAA;AACjB,CAAC,CAAA;AA/BY,QAAA,aAAa,iBA+BzB"}
|
package/build/utils/utils.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export declare const getAllKeys: (object: unknown, keys?: Array<string>) => Array<string>;
|
|
2
|
-
export declare const getValueByKeyAnyLevel: <T = unknown>(obj: Record<string, unknown>, key: string) => T | undefined;
|
|
3
|
-
export declare const simpleDeepEqual: (lhs: unknown, rhs: unknown) => boolean;
|
|
4
|
-
export declare const deleteByPath: (object: Record<string, unknown>, path: string[]) => void;
|
|
5
|
-
export declare const getByPath: (item: any[] | Record<string, unknown>, path: Array<string | number>) => unknown;
|
|
6
|
-
export declare const hasByPath: (item: any[] | Record<string, unknown>, path: Array<string | number>) => boolean;
|
|
7
|
-
export declare function isObject(input: any): boolean;
|
|
8
|
-
export declare function isPromise<T>(value: Promise<T> | T): value is Promise<T>;
|