@nuggetslife/vc-rn 0.2.0 → 0.2.2
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/lib/commonjs/bbs_2023.js +59 -0
- package/lib/commonjs/bbs_2023.js.map +1 -0
- package/lib/commonjs/bbs_ietf.js +88 -0
- package/lib/commonjs/bbs_ietf.js.map +1 -0
- package/lib/commonjs/index.js +87 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/sd_jwt.js +56 -0
- package/lib/commonjs/sd_jwt.js.map +1 -0
- package/lib/module/bbs_2023.js +50 -0
- package/lib/module/bbs_2023.js.map +1 -0
- package/lib/module/bbs_ietf.js +79 -0
- package/lib/module/bbs_ietf.js.map +1 -0
- package/lib/module/index.js +8 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/sd_jwt.js +49 -0
- package/lib/module/sd_jwt.js.map +1 -0
- package/lib/typescript/src/bbs_2023.d.ts +6 -0
- package/lib/typescript/src/bbs_2023.d.ts.map +1 -0
- package/lib/typescript/src/bbs_ietf.d.ts +9 -0
- package/lib/typescript/src/bbs_ietf.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +3 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/sd_jwt.d.ts +4 -0
- package/lib/typescript/src/sd_jwt.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/bbs_2023.ts +64 -0
- package/src/bbs_ietf.ts +109 -0
- package/src/index.tsx +9 -0
- package/src/sd_jwt.ts +57 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.bbs2023BlindSign = bbs2023BlindSign;
|
|
7
|
+
exports.bbs2023Derive = bbs2023Derive;
|
|
8
|
+
exports.bbs2023HolderCommit = bbs2023HolderCommit;
|
|
9
|
+
exports.bbs2023Sign = bbs2023Sign;
|
|
10
|
+
exports.bbs2023Verify = bbs2023Verify;
|
|
11
|
+
var _ = require(".");
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
// bbs2023Sign — create a base proof (issuer)
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
|
|
16
|
+
async function bbs2023Sign(options) {
|
|
17
|
+
const result = await (0, _.vc_facade)('bbs_2023_sign', JSON.stringify(options));
|
|
18
|
+
return JSON.parse(result);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
// bbs2023Derive — create a derived proof (holder)
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
|
|
25
|
+
async function bbs2023Derive(options) {
|
|
26
|
+
const result = await (0, _.vc_facade)('bbs_2023_derive', JSON.stringify(options));
|
|
27
|
+
return JSON.parse(result);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// ---------------------------------------------------------------------------
|
|
31
|
+
// bbs2023Verify — verify a base or derived proof
|
|
32
|
+
// ---------------------------------------------------------------------------
|
|
33
|
+
|
|
34
|
+
async function bbs2023Verify(document, publicKey) {
|
|
35
|
+
const result = await (0, _.vc_facade)('bbs_2023_verify', JSON.stringify({
|
|
36
|
+
document,
|
|
37
|
+
publicKey
|
|
38
|
+
}));
|
|
39
|
+
return JSON.parse(result);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
// bbs2023HolderCommit — holder creates Pedersen commitment for blind signing
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
|
|
46
|
+
async function bbs2023HolderCommit(options) {
|
|
47
|
+
const result = await (0, _.vc_facade)('bbs_2023_holder_commit', JSON.stringify(options));
|
|
48
|
+
return JSON.parse(result);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// ---------------------------------------------------------------------------
|
|
52
|
+
// bbs2023BlindSign — issuer creates blind base proof with holder's commitment
|
|
53
|
+
// ---------------------------------------------------------------------------
|
|
54
|
+
|
|
55
|
+
async function bbs2023BlindSign(options) {
|
|
56
|
+
const result = await (0, _.vc_facade)('bbs_2023_blind_sign', JSON.stringify(options));
|
|
57
|
+
return JSON.parse(result);
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=bbs_2023.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_","require","bbs2023Sign","options","result","vc_facade","JSON","stringify","parse","bbs2023Derive","bbs2023Verify","document","publicKey","bbs2023HolderCommit","bbs2023BlindSign"],"sourceRoot":"../../src","sources":["bbs_2023.ts"],"mappings":";;;;;;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AAEA;AACA;AACA;;AAEO,eAAeC,WAAWA,CAACC,OAAY,EAAgB;EAC5D,MAAMC,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,eAAe,EACfC,IAAI,CAACC,SAAS,CAACJ,OAAO,CACxB,CAAC;EACD,OAAOG,IAAI,CAACE,KAAK,CAACJ,MAAM,CAAC;AAC3B;;AAEA;AACA;AACA;;AAEO,eAAeK,aAAaA,CAACN,OAAY,EAAgB;EAC9D,MAAMC,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,iBAAiB,EACjBC,IAAI,CAACC,SAAS,CAACJ,OAAO,CACxB,CAAC;EACD,OAAOG,IAAI,CAACE,KAAK,CAACJ,MAAM,CAAC;AAC3B;;AAEA;AACA;AACA;;AAEO,eAAeM,aAAaA,CACjCC,QAAa,EACbC,SAAkB,EACJ;EACd,MAAMR,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,iBAAiB,EACjBC,IAAI,CAACC,SAAS,CAAC;IAAEI,QAAQ;IAAEC;EAAU,CAAC,CACxC,CAAC;EACD,OAAON,IAAI,CAACE,KAAK,CAACJ,MAAM,CAAC;AAC3B;;AAEA;AACA;AACA;;AAEO,eAAeS,mBAAmBA,CAACV,OAAY,EAAgB;EACpE,MAAMC,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,wBAAwB,EACxBC,IAAI,CAACC,SAAS,CAACJ,OAAO,CACxB,CAAC;EACD,OAAOG,IAAI,CAACE,KAAK,CAACJ,MAAM,CAAC;AAC3B;;AAEA;AACA;AACA;;AAEO,eAAeU,gBAAgBA,CAACX,OAAY,EAAgB;EACjE,MAAMC,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,qBAAqB,EACrBC,IAAI,CAACC,SAAS,CAACJ,OAAO,CACxB,CAAC;EACD,OAAOG,IAAI,CAACE,KAAK,CAACJ,MAAM,CAAC;AAC3B","ignoreList":[]}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.bbsIetfKeygen = bbsIetfKeygen;
|
|
7
|
+
exports.bbsIetfProofGen = bbsIetfProofGen;
|
|
8
|
+
exports.bbsIetfProofVerify = bbsIetfProofVerify;
|
|
9
|
+
exports.bbsIetfSign = bbsIetfSign;
|
|
10
|
+
exports.bbsIetfVerify = bbsIetfVerify;
|
|
11
|
+
var _ = require(".");
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
// Key Generation
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
|
|
16
|
+
async function bbsIetfKeygen(ikm, keyInfo, ciphersuite) {
|
|
17
|
+
const result = await (0, _.vc_facade)('bbs_ietf_keygen', JSON.stringify({
|
|
18
|
+
ikm,
|
|
19
|
+
keyInfo,
|
|
20
|
+
ciphersuite
|
|
21
|
+
}));
|
|
22
|
+
return JSON.parse(result);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
// Sign
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
|
|
29
|
+
async function bbsIetfSign(secretKey, publicKey, header, messages, ciphersuite) {
|
|
30
|
+
const result = await (0, _.vc_facade)('bbs_ietf_sign', JSON.stringify({
|
|
31
|
+
secretKey,
|
|
32
|
+
publicKey,
|
|
33
|
+
header,
|
|
34
|
+
messages,
|
|
35
|
+
ciphersuite
|
|
36
|
+
}));
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// ---------------------------------------------------------------------------
|
|
41
|
+
// Verify
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
|
|
44
|
+
async function bbsIetfVerify(publicKey, signature, header, messages, ciphersuite) {
|
|
45
|
+
const result = await (0, _.vc_facade)('bbs_ietf_verify', JSON.stringify({
|
|
46
|
+
publicKey,
|
|
47
|
+
signature,
|
|
48
|
+
header,
|
|
49
|
+
messages,
|
|
50
|
+
ciphersuite
|
|
51
|
+
}));
|
|
52
|
+
return result === 'true';
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// ---------------------------------------------------------------------------
|
|
56
|
+
// ProofGen
|
|
57
|
+
// ---------------------------------------------------------------------------
|
|
58
|
+
|
|
59
|
+
async function bbsIetfProofGen(publicKey, signature, header, presentationHeader, messages, disclosedIndices, ciphersuite) {
|
|
60
|
+
const result = await (0, _.vc_facade)('bbs_ietf_proof_gen', JSON.stringify({
|
|
61
|
+
publicKey,
|
|
62
|
+
signature,
|
|
63
|
+
header,
|
|
64
|
+
presentationHeader,
|
|
65
|
+
messages,
|
|
66
|
+
disclosedIndices,
|
|
67
|
+
ciphersuite
|
|
68
|
+
}));
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// ---------------------------------------------------------------------------
|
|
73
|
+
// ProofVerify
|
|
74
|
+
// ---------------------------------------------------------------------------
|
|
75
|
+
|
|
76
|
+
async function bbsIetfProofVerify(publicKey, proof, header, presentationHeader, disclosedMessages, totalMessageCount, ciphersuite) {
|
|
77
|
+
const result = await (0, _.vc_facade)('bbs_ietf_proof_verify', JSON.stringify({
|
|
78
|
+
publicKey,
|
|
79
|
+
proof,
|
|
80
|
+
header,
|
|
81
|
+
presentationHeader,
|
|
82
|
+
disclosedMessages,
|
|
83
|
+
totalMessageCount,
|
|
84
|
+
ciphersuite
|
|
85
|
+
}));
|
|
86
|
+
return result === 'true';
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=bbs_ietf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_","require","bbsIetfKeygen","ikm","keyInfo","ciphersuite","result","vc_facade","JSON","stringify","parse","bbsIetfSign","secretKey","publicKey","header","messages","bbsIetfVerify","signature","bbsIetfProofGen","presentationHeader","disclosedIndices","bbsIetfProofVerify","proof","disclosedMessages","totalMessageCount"],"sourceRoot":"../../src","sources":["bbs_ietf.ts"],"mappings":";;;;;;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AAEA;AACA;AACA;;AAEO,eAAeC,aAAaA,CACjCC,GAAY,EACZC,OAAgB,EAChBC,WAAoB,EAC+B;EACnD,MAAMC,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,iBAAiB,EACjBC,IAAI,CAACC,SAAS,CAAC;IAAEN,GAAG;IAAEC,OAAO;IAAEC;EAAY,CAAC,CAC9C,CAAC;EACD,OAAOG,IAAI,CAACE,KAAK,CAACJ,MAAM,CAAC;AAC3B;;AAEA;AACA;AACA;;AAEO,eAAeK,WAAWA,CAC/BC,SAAiB,EACjBC,SAAiB,EACjBC,MAA0B,EAC1BC,QAAkB,EAClBV,WAAoB,EACH;EACjB,MAAMC,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,eAAe,EACfC,IAAI,CAACC,SAAS,CAAC;IAAEG,SAAS;IAAEC,SAAS;IAAEC,MAAM;IAAEC,QAAQ;IAAEV;EAAY,CAAC,CACxE,CAAC;EACD,OAAOC,MAAM;AACf;;AAEA;AACA;AACA;;AAEO,eAAeU,aAAaA,CACjCH,SAAiB,EACjBI,SAAiB,EACjBH,MAA0B,EAC1BC,QAAkB,EAClBV,WAAoB,EACF;EAClB,MAAMC,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,iBAAiB,EACjBC,IAAI,CAACC,SAAS,CAAC;IAAEI,SAAS;IAAEI,SAAS;IAAEH,MAAM;IAAEC,QAAQ;IAAEV;EAAY,CAAC,CACxE,CAAC;EACD,OAAOC,MAAM,KAAK,MAAM;AAC1B;;AAEA;AACA;AACA;;AAEO,eAAeY,eAAeA,CACnCL,SAAiB,EACjBI,SAAiB,EACjBH,MAA0B,EAC1BK,kBAAsC,EACtCJ,QAAkB,EAClBK,gBAA0B,EAC1Bf,WAAoB,EACH;EACjB,MAAMC,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,oBAAoB,EACpBC,IAAI,CAACC,SAAS,CAAC;IACbI,SAAS;IACTI,SAAS;IACTH,MAAM;IACNK,kBAAkB;IAClBJ,QAAQ;IACRK,gBAAgB;IAChBf;EACF,CAAC,CACH,CAAC;EACD,OAAOC,MAAM;AACf;;AAEA;AACA;AACA;;AAEO,eAAee,kBAAkBA,CACtCR,SAAiB,EACjBS,KAAa,EACbR,MAA0B,EAC1BK,kBAAsC,EACtCI,iBAAyC,EACzCC,iBAAyB,EACzBnB,WAAoB,EACF;EAClB,MAAMC,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,uBAAuB,EACvBC,IAAI,CAACC,SAAS,CAAC;IACbI,SAAS;IACTS,KAAK;IACLR,MAAM;IACNK,kBAAkB;IAClBI,iBAAiB;IACjBC,iBAAiB;IACjBnB;EACF,CAAC,CACH,CAAC;EACD,OAAOC,MAAM,KAAK,MAAM;AAC1B","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -81,6 +81,66 @@ Object.defineProperty(exports, "JwkKty", {
|
|
|
81
81
|
return _types.JwkKty;
|
|
82
82
|
}
|
|
83
83
|
});
|
|
84
|
+
Object.defineProperty(exports, "bbs2023BlindSign", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
get: function () {
|
|
87
|
+
return _bbs_.bbs2023BlindSign;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
Object.defineProperty(exports, "bbs2023Derive", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function () {
|
|
93
|
+
return _bbs_.bbs2023Derive;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
Object.defineProperty(exports, "bbs2023HolderCommit", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
get: function () {
|
|
99
|
+
return _bbs_.bbs2023HolderCommit;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
Object.defineProperty(exports, "bbs2023Sign", {
|
|
103
|
+
enumerable: true,
|
|
104
|
+
get: function () {
|
|
105
|
+
return _bbs_.bbs2023Sign;
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
Object.defineProperty(exports, "bbs2023Verify", {
|
|
109
|
+
enumerable: true,
|
|
110
|
+
get: function () {
|
|
111
|
+
return _bbs_.bbs2023Verify;
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
Object.defineProperty(exports, "bbsIetfKeygen", {
|
|
115
|
+
enumerable: true,
|
|
116
|
+
get: function () {
|
|
117
|
+
return _bbs_ietf.bbsIetfKeygen;
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
Object.defineProperty(exports, "bbsIetfProofGen", {
|
|
121
|
+
enumerable: true,
|
|
122
|
+
get: function () {
|
|
123
|
+
return _bbs_ietf.bbsIetfProofGen;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
Object.defineProperty(exports, "bbsIetfProofVerify", {
|
|
127
|
+
enumerable: true,
|
|
128
|
+
get: function () {
|
|
129
|
+
return _bbs_ietf.bbsIetfProofVerify;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
Object.defineProperty(exports, "bbsIetfSign", {
|
|
133
|
+
enumerable: true,
|
|
134
|
+
get: function () {
|
|
135
|
+
return _bbs_ietf.bbsIetfSign;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
Object.defineProperty(exports, "bbsIetfVerify", {
|
|
139
|
+
enumerable: true,
|
|
140
|
+
get: function () {
|
|
141
|
+
return _bbs_ietf.bbsIetfVerify;
|
|
142
|
+
}
|
|
143
|
+
});
|
|
84
144
|
Object.defineProperty(exports, "compactJsonVerify", {
|
|
85
145
|
enumerable: true,
|
|
86
146
|
get: function () {
|
|
@@ -183,6 +243,24 @@ Object.defineProperty(exports, "ldVerify", {
|
|
|
183
243
|
return _ld_signatures.ldVerify;
|
|
184
244
|
}
|
|
185
245
|
});
|
|
246
|
+
Object.defineProperty(exports, "sdJwtIssue", {
|
|
247
|
+
enumerable: true,
|
|
248
|
+
get: function () {
|
|
249
|
+
return _sd_jwt.sdJwtIssue;
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
Object.defineProperty(exports, "sdJwtPresent", {
|
|
253
|
+
enumerable: true,
|
|
254
|
+
get: function () {
|
|
255
|
+
return _sd_jwt.sdJwtPresent;
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
Object.defineProperty(exports, "sdJwtVerify", {
|
|
259
|
+
enumerable: true,
|
|
260
|
+
get: function () {
|
|
261
|
+
return _sd_jwt.sdJwtVerify;
|
|
262
|
+
}
|
|
263
|
+
});
|
|
186
264
|
Object.defineProperty(exports, "unblindSignature", {
|
|
187
265
|
enumerable: true,
|
|
188
266
|
get: function () {
|
|
@@ -207,6 +285,9 @@ var _JsonLd = require("./JsonLd");
|
|
|
207
285
|
var _ld_signatures = require("./ld_signatures");
|
|
208
286
|
var _blind_signing = require("./blind_signing");
|
|
209
287
|
var _jose = require("./jose");
|
|
288
|
+
var _sd_jwt = require("./sd_jwt");
|
|
289
|
+
var _bbs_ = require("./bbs_2023");
|
|
290
|
+
var _bbs_ietf = require("./bbs_ietf");
|
|
210
291
|
var _types = require("./types");
|
|
211
292
|
const LINKING_ERROR = `The package '@nuggetslife/vc' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
212
293
|
ios: "- You have run 'pod install'\n",
|
|
@@ -235,5 +316,11 @@ function vc_facade(action, options) {
|
|
|
235
316
|
|
|
236
317
|
// JOSE operations
|
|
237
318
|
|
|
319
|
+
// SD-JWT operations
|
|
320
|
+
|
|
321
|
+
// BBS-2023 Data Integrity
|
|
322
|
+
|
|
323
|
+
// BBS IETF low-level crypto
|
|
324
|
+
|
|
238
325
|
// Types
|
|
239
326
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_Bls12381G2KeyPair","_BoundBls12381G2KeyPair","_BbsBlsSignature","_BbsBlsSignatureProof","_BbsBlsHolderBoundSignature","_BbsBlsHolderBoundSignatureProof","_JsonLd","_ld_signatures","_blind_signing","_jose","_types","LINKING_ERROR","Platform","select","ios","default","Vc","NativeModules","Proxy","get","Error","vc_facade","action","options"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_Bls12381G2KeyPair","_BoundBls12381G2KeyPair","_BbsBlsSignature","_BbsBlsSignatureProof","_BbsBlsHolderBoundSignature","_BbsBlsHolderBoundSignatureProof","_JsonLd","_ld_signatures","_blind_signing","_jose","_sd_jwt","_bbs_","_bbs_ietf","_types","LINKING_ERROR","Platform","select","ios","default","Vc","NativeModules","Proxy","get","Error","vc_facade","action","options"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAwBA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAF,OAAA;AAGA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,qBAAA,GAAAJ,OAAA;AAGA,IAAAK,2BAAA,GAAAL,OAAA;AACA,IAAAM,gCAAA,GAAAN,OAAA;AAGA,IAAAO,OAAA,GAAAP,OAAA;AAGA,IAAAQ,cAAA,GAAAR,OAAA;AASA,IAAAS,cAAA,GAAAT,OAAA;AAOA,IAAAU,KAAA,GAAAV,OAAA;AAoBA,IAAAW,OAAA,GAAAX,OAAA;AAGA,IAAAY,KAAA,GAAAZ,OAAA;AAGA,IAAAa,SAAA,GAAAb,OAAA;AASA,IAAAc,MAAA,GAAAd,OAAA;AAxFA,MAAMe,aAAa,GACjB,0EAA0E,GAC1EC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,EAAE,GAAGC,0BAAa,CAACD,EAAE,GACvBC,0BAAa,CAACD,EAAE,GAChB,IAAIE,KAAK,CACT,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEI,SAASU,SAASA,CAACC,MAAc,EAAEC,OAAe,EAAmB;EAC1E,OAAOP,EAAE,CAACK,SAAS,CAACC,MAAM,EAAEC,OAAO,CAAC;AACtC;;AAEA;;AAIA;;AAIA;;AAIA;;AAGA;;AASA;;AAOA;;AAoBA;;AAGA;;AAGA;;AAGA","ignoreList":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.sdJwtIssue = sdJwtIssue;
|
|
7
|
+
exports.sdJwtPresent = sdJwtPresent;
|
|
8
|
+
exports.sdJwtVerify = sdJwtVerify;
|
|
9
|
+
var _ = require(".");
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// SD-JWT Issue
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
async function sdJwtIssue(claims, disclosable, jwk, alg, holderJwk, decoyCount) {
|
|
15
|
+
const result = await (0, _.vc_facade)('sd_jwt_issue', JSON.stringify({
|
|
16
|
+
claims,
|
|
17
|
+
disclosable,
|
|
18
|
+
jwk,
|
|
19
|
+
alg,
|
|
20
|
+
holderJwk,
|
|
21
|
+
decoyCount
|
|
22
|
+
}));
|
|
23
|
+
return JSON.parse(result);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
// SD-JWT Present
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
|
|
30
|
+
async function sdJwtPresent(sdJwt, disclosuresToReveal, kbJwk, kbAlg, audience, nonce) {
|
|
31
|
+
const result = await (0, _.vc_facade)('sd_jwt_present', JSON.stringify({
|
|
32
|
+
sdJwt,
|
|
33
|
+
disclosuresToReveal,
|
|
34
|
+
kbJwk,
|
|
35
|
+
kbAlg,
|
|
36
|
+
audience,
|
|
37
|
+
nonce
|
|
38
|
+
}));
|
|
39
|
+
return JSON.parse(result);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
// SD-JWT Verify
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
|
|
46
|
+
async function sdJwtVerify(presentation, issuerJwk, holderJwk, audience, nonce) {
|
|
47
|
+
const result = await (0, _.vc_facade)('sd_jwt_verify', JSON.stringify({
|
|
48
|
+
presentation,
|
|
49
|
+
issuerJwk,
|
|
50
|
+
holderJwk,
|
|
51
|
+
audience,
|
|
52
|
+
nonce
|
|
53
|
+
}));
|
|
54
|
+
return JSON.parse(result);
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=sd_jwt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_","require","sdJwtIssue","claims","disclosable","jwk","alg","holderJwk","decoyCount","result","vc_facade","JSON","stringify","parse","sdJwtPresent","sdJwt","disclosuresToReveal","kbJwk","kbAlg","audience","nonce","sdJwtVerify","presentation","issuerJwk"],"sourceRoot":"../../src","sources":["sd_jwt.ts"],"mappings":";;;;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AAEA;AACA;AACA;;AAEO,eAAeC,UAAUA,CAC9BC,MAAW,EACXC,WAAqB,EACrBC,GAAQ,EACRC,GAAW,EACXC,SAAe,EACfC,UAAmB,EACL;EACd,MAAMC,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,cAAc,EACdC,IAAI,CAACC,SAAS,CAAC;IAAET,MAAM;IAAEC,WAAW;IAAEC,GAAG;IAAEC,GAAG;IAAEC,SAAS;IAAEC;EAAW,CAAC,CACzE,CAAC;EACD,OAAOG,IAAI,CAACE,KAAK,CAACJ,MAAM,CAAC;AAC3B;;AAEA;AACA;AACA;;AAEO,eAAeK,YAAYA,CAChCC,KAAa,EACbC,mBAA6B,EAC7BC,KAAW,EACXC,KAAc,EACdC,QAAiB,EACjBC,KAAc,EACA;EACd,MAAMX,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,gBAAgB,EAChBC,IAAI,CAACC,SAAS,CAAC;IAAEG,KAAK;IAAEC,mBAAmB;IAAEC,KAAK;IAAEC,KAAK;IAAEC,QAAQ;IAAEC;EAAM,CAAC,CAC9E,CAAC;EACD,OAAOT,IAAI,CAACE,KAAK,CAACJ,MAAM,CAAC;AAC3B;;AAEA;AACA;AACA;;AAEO,eAAeY,WAAWA,CAC/BC,YAAoB,EACpBC,SAAc,EACdhB,SAAe,EACfY,QAAiB,EACjBC,KAAc,EACA;EACd,MAAMX,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,eAAe,EACfC,IAAI,CAACC,SAAS,CAAC;IAAEU,YAAY;IAAEC,SAAS;IAAEhB,SAAS;IAAEY,QAAQ;IAAEC;EAAM,CAAC,CACxE,CAAC;EACD,OAAOT,IAAI,CAACE,KAAK,CAACJ,MAAM,CAAC;AAC3B","ignoreList":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { vc_facade } from '.';
|
|
2
|
+
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// bbs2023Sign — create a base proof (issuer)
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
|
|
7
|
+
export async function bbs2023Sign(options) {
|
|
8
|
+
const result = await vc_facade('bbs_2023_sign', JSON.stringify(options));
|
|
9
|
+
return JSON.parse(result);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
// bbs2023Derive — create a derived proof (holder)
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
|
|
16
|
+
export async function bbs2023Derive(options) {
|
|
17
|
+
const result = await vc_facade('bbs_2023_derive', JSON.stringify(options));
|
|
18
|
+
return JSON.parse(result);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
// bbs2023Verify — verify a base or derived proof
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
|
|
25
|
+
export async function bbs2023Verify(document, publicKey) {
|
|
26
|
+
const result = await vc_facade('bbs_2023_verify', JSON.stringify({
|
|
27
|
+
document,
|
|
28
|
+
publicKey
|
|
29
|
+
}));
|
|
30
|
+
return JSON.parse(result);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
// bbs2023HolderCommit — holder creates Pedersen commitment for blind signing
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
|
|
37
|
+
export async function bbs2023HolderCommit(options) {
|
|
38
|
+
const result = await vc_facade('bbs_2023_holder_commit', JSON.stringify(options));
|
|
39
|
+
return JSON.parse(result);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
// bbs2023BlindSign — issuer creates blind base proof with holder's commitment
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
|
|
46
|
+
export async function bbs2023BlindSign(options) {
|
|
47
|
+
const result = await vc_facade('bbs_2023_blind_sign', JSON.stringify(options));
|
|
48
|
+
return JSON.parse(result);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=bbs_2023.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["vc_facade","bbs2023Sign","options","result","JSON","stringify","parse","bbs2023Derive","bbs2023Verify","document","publicKey","bbs2023HolderCommit","bbs2023BlindSign"],"sourceRoot":"../../src","sources":["bbs_2023.ts"],"mappings":"AAAA,SAASA,SAAS,QAAQ,GAAG;;AAE7B;AACA;AACA;;AAEA,OAAO,eAAeC,WAAWA,CAACC,OAAY,EAAgB;EAC5D,MAAMC,MAAM,GAAG,MAAMH,SAAS,CAC5B,eAAe,EACfI,IAAI,CAACC,SAAS,CAACH,OAAO,CACxB,CAAC;EACD,OAAOE,IAAI,CAACE,KAAK,CAACH,MAAM,CAAC;AAC3B;;AAEA;AACA;AACA;;AAEA,OAAO,eAAeI,aAAaA,CAACL,OAAY,EAAgB;EAC9D,MAAMC,MAAM,GAAG,MAAMH,SAAS,CAC5B,iBAAiB,EACjBI,IAAI,CAACC,SAAS,CAACH,OAAO,CACxB,CAAC;EACD,OAAOE,IAAI,CAACE,KAAK,CAACH,MAAM,CAAC;AAC3B;;AAEA;AACA;AACA;;AAEA,OAAO,eAAeK,aAAaA,CACjCC,QAAa,EACbC,SAAkB,EACJ;EACd,MAAMP,MAAM,GAAG,MAAMH,SAAS,CAC5B,iBAAiB,EACjBI,IAAI,CAACC,SAAS,CAAC;IAAEI,QAAQ;IAAEC;EAAU,CAAC,CACxC,CAAC;EACD,OAAON,IAAI,CAACE,KAAK,CAACH,MAAM,CAAC;AAC3B;;AAEA;AACA;AACA;;AAEA,OAAO,eAAeQ,mBAAmBA,CAACT,OAAY,EAAgB;EACpE,MAAMC,MAAM,GAAG,MAAMH,SAAS,CAC5B,wBAAwB,EACxBI,IAAI,CAACC,SAAS,CAACH,OAAO,CACxB,CAAC;EACD,OAAOE,IAAI,CAACE,KAAK,CAACH,MAAM,CAAC;AAC3B;;AAEA;AACA;AACA;;AAEA,OAAO,eAAeS,gBAAgBA,CAACV,OAAY,EAAgB;EACjE,MAAMC,MAAM,GAAG,MAAMH,SAAS,CAC5B,qBAAqB,EACrBI,IAAI,CAACC,SAAS,CAACH,OAAO,CACxB,CAAC;EACD,OAAOE,IAAI,CAACE,KAAK,CAACH,MAAM,CAAC;AAC3B","ignoreList":[]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { vc_facade } from '.';
|
|
2
|
+
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Key Generation
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
|
|
7
|
+
export async function bbsIetfKeygen(ikm, keyInfo, ciphersuite) {
|
|
8
|
+
const result = await vc_facade('bbs_ietf_keygen', JSON.stringify({
|
|
9
|
+
ikm,
|
|
10
|
+
keyInfo,
|
|
11
|
+
ciphersuite
|
|
12
|
+
}));
|
|
13
|
+
return JSON.parse(result);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
// Sign
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
|
|
20
|
+
export async function bbsIetfSign(secretKey, publicKey, header, messages, ciphersuite) {
|
|
21
|
+
const result = await vc_facade('bbs_ietf_sign', JSON.stringify({
|
|
22
|
+
secretKey,
|
|
23
|
+
publicKey,
|
|
24
|
+
header,
|
|
25
|
+
messages,
|
|
26
|
+
ciphersuite
|
|
27
|
+
}));
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
// Verify
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
|
|
35
|
+
export async function bbsIetfVerify(publicKey, signature, header, messages, ciphersuite) {
|
|
36
|
+
const result = await vc_facade('bbs_ietf_verify', JSON.stringify({
|
|
37
|
+
publicKey,
|
|
38
|
+
signature,
|
|
39
|
+
header,
|
|
40
|
+
messages,
|
|
41
|
+
ciphersuite
|
|
42
|
+
}));
|
|
43
|
+
return result === 'true';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// ---------------------------------------------------------------------------
|
|
47
|
+
// ProofGen
|
|
48
|
+
// ---------------------------------------------------------------------------
|
|
49
|
+
|
|
50
|
+
export async function bbsIetfProofGen(publicKey, signature, header, presentationHeader, messages, disclosedIndices, ciphersuite) {
|
|
51
|
+
const result = await vc_facade('bbs_ietf_proof_gen', JSON.stringify({
|
|
52
|
+
publicKey,
|
|
53
|
+
signature,
|
|
54
|
+
header,
|
|
55
|
+
presentationHeader,
|
|
56
|
+
messages,
|
|
57
|
+
disclosedIndices,
|
|
58
|
+
ciphersuite
|
|
59
|
+
}));
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// ---------------------------------------------------------------------------
|
|
64
|
+
// ProofVerify
|
|
65
|
+
// ---------------------------------------------------------------------------
|
|
66
|
+
|
|
67
|
+
export async function bbsIetfProofVerify(publicKey, proof, header, presentationHeader, disclosedMessages, totalMessageCount, ciphersuite) {
|
|
68
|
+
const result = await vc_facade('bbs_ietf_proof_verify', JSON.stringify({
|
|
69
|
+
publicKey,
|
|
70
|
+
proof,
|
|
71
|
+
header,
|
|
72
|
+
presentationHeader,
|
|
73
|
+
disclosedMessages,
|
|
74
|
+
totalMessageCount,
|
|
75
|
+
ciphersuite
|
|
76
|
+
}));
|
|
77
|
+
return result === 'true';
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=bbs_ietf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["vc_facade","bbsIetfKeygen","ikm","keyInfo","ciphersuite","result","JSON","stringify","parse","bbsIetfSign","secretKey","publicKey","header","messages","bbsIetfVerify","signature","bbsIetfProofGen","presentationHeader","disclosedIndices","bbsIetfProofVerify","proof","disclosedMessages","totalMessageCount"],"sourceRoot":"../../src","sources":["bbs_ietf.ts"],"mappings":"AAAA,SAASA,SAAS,QAAQ,GAAG;;AAE7B;AACA;AACA;;AAEA,OAAO,eAAeC,aAAaA,CACjCC,GAAY,EACZC,OAAgB,EAChBC,WAAoB,EAC+B;EACnD,MAAMC,MAAM,GAAG,MAAML,SAAS,CAC5B,iBAAiB,EACjBM,IAAI,CAACC,SAAS,CAAC;IAAEL,GAAG;IAAEC,OAAO;IAAEC;EAAY,CAAC,CAC9C,CAAC;EACD,OAAOE,IAAI,CAACE,KAAK,CAACH,MAAM,CAAC;AAC3B;;AAEA;AACA;AACA;;AAEA,OAAO,eAAeI,WAAWA,CAC/BC,SAAiB,EACjBC,SAAiB,EACjBC,MAA0B,EAC1BC,QAAkB,EAClBT,WAAoB,EACH;EACjB,MAAMC,MAAM,GAAG,MAAML,SAAS,CAC5B,eAAe,EACfM,IAAI,CAACC,SAAS,CAAC;IAAEG,SAAS;IAAEC,SAAS;IAAEC,MAAM;IAAEC,QAAQ;IAAET;EAAY,CAAC,CACxE,CAAC;EACD,OAAOC,MAAM;AACf;;AAEA;AACA;AACA;;AAEA,OAAO,eAAeS,aAAaA,CACjCH,SAAiB,EACjBI,SAAiB,EACjBH,MAA0B,EAC1BC,QAAkB,EAClBT,WAAoB,EACF;EAClB,MAAMC,MAAM,GAAG,MAAML,SAAS,CAC5B,iBAAiB,EACjBM,IAAI,CAACC,SAAS,CAAC;IAAEI,SAAS;IAAEI,SAAS;IAAEH,MAAM;IAAEC,QAAQ;IAAET;EAAY,CAAC,CACxE,CAAC;EACD,OAAOC,MAAM,KAAK,MAAM;AAC1B;;AAEA;AACA;AACA;;AAEA,OAAO,eAAeW,eAAeA,CACnCL,SAAiB,EACjBI,SAAiB,EACjBH,MAA0B,EAC1BK,kBAAsC,EACtCJ,QAAkB,EAClBK,gBAA0B,EAC1Bd,WAAoB,EACH;EACjB,MAAMC,MAAM,GAAG,MAAML,SAAS,CAC5B,oBAAoB,EACpBM,IAAI,CAACC,SAAS,CAAC;IACbI,SAAS;IACTI,SAAS;IACTH,MAAM;IACNK,kBAAkB;IAClBJ,QAAQ;IACRK,gBAAgB;IAChBd;EACF,CAAC,CACH,CAAC;EACD,OAAOC,MAAM;AACf;;AAEA;AACA;AACA;;AAEA,OAAO,eAAec,kBAAkBA,CACtCR,SAAiB,EACjBS,KAAa,EACbR,MAA0B,EAC1BK,kBAAsC,EACtCI,iBAAyC,EACzCC,iBAAyB,EACzBlB,WAAoB,EACF;EAClB,MAAMC,MAAM,GAAG,MAAML,SAAS,CAC5B,uBAAuB,EACvBM,IAAI,CAACC,SAAS,CAAC;IACbI,SAAS;IACTS,KAAK;IACLR,MAAM;IACNK,kBAAkB;IAClBI,iBAAiB;IACjBC,iBAAiB;IACjBlB;EACF,CAAC,CACH,CAAC;EACD,OAAOC,MAAM,KAAK,MAAM;AAC1B","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -35,6 +35,14 @@ export { createCommitment, verifyCommitment, unblindSignature } from './blind_si
|
|
|
35
35
|
|
|
36
36
|
// JOSE operations
|
|
37
37
|
export { JoseNamedCurve, JoseContentEncryption, JoseKeyEncryption, JoseSigningAlgorithm, generateJwk, generateKeyPair, joseEncrypt, joseDecrypt, generalEncryptJson, decryptJson, compactSignJson, compactJsonVerify, flattenedSignJson, jsonVerify, generalSignJson } from './jose';
|
|
38
|
+
// SD-JWT operations
|
|
39
|
+
export { sdJwtIssue, sdJwtPresent, sdJwtVerify } from './sd_jwt';
|
|
40
|
+
|
|
41
|
+
// BBS-2023 Data Integrity
|
|
42
|
+
export { bbs2023Sign, bbs2023Derive, bbs2023Verify, bbs2023HolderCommit, bbs2023BlindSign } from './bbs_2023';
|
|
43
|
+
|
|
44
|
+
// BBS IETF low-level crypto
|
|
45
|
+
export { bbsIetfKeygen, bbsIetfSign, bbsIetfVerify, bbsIetfProofGen, bbsIetfProofVerify } from './bbs_ietf';
|
|
38
46
|
|
|
39
47
|
// Types
|
|
40
48
|
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","Vc","Proxy","get","Error","vc_facade","action","options","Bls12381G2KeyPair","BoundBls12381G2KeyPair","BbsBlsSignature2020","BbsBlsSignatureProof2020","BbsBlsHolderBoundSignature2022","BbsBlsHolderBoundSignatureProof2022","JsonLd","ldSign","ldVerify","ldDeriveProof","deriveProof","deriveProofHolderBound","createCommitment","verifyCommitment","unblindSignature","JoseNamedCurve","JoseContentEncryption","JoseKeyEncryption","JoseSigningAlgorithm","generateJwk","generateKeyPair","joseEncrypt","joseDecrypt","generalEncryptJson","decryptJson","compactSignJson","compactJsonVerify","flattenedSignJson","jsonVerify","generalSignJson","BlsCurveName","JwkKty"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACjB,0EAA0E,GAC1ED,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,EAAE,GAAGN,aAAa,CAACM,EAAE,GACvBN,aAAa,CAACM,EAAE,GAChB,IAAIC,KAAK,CACT,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEH,OAAO,SAASQ,SAASA,CAACC,MAAc,EAAEC,OAAe,EAAmB;EAC1E,OAAON,EAAE,CAACI,SAAS,CAACC,MAAM,EAAEC,OAAO,CAAC;AACtC;;AAEA;AACA,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,sBAAsB,QAAQ,0BAA0B;;AAEjE;AACA,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,wBAAwB,QAAQ,4BAA4B;;AAErE;AACA,SAASC,8BAA8B,QAAQ,kCAAkC;AACjF,SAASC,mCAAmC,QAAQ,uCAAuC;;AAE3F;AACA,SAASC,MAAM,QAAQ,UAAU;;AAEjC;AACA,SACEC,MAAM,EACNC,QAAQ,EACRC,aAAa,EACbC,WAAW,EACXC,sBAAsB,QACjB,iBAAiB;;AAExB;AACA,SACEC,gBAAgB,EAChBC,gBAAgB,EAChBC,gBAAgB,QACX,iBAAiB;;AAExB;AACA,SACEC,cAAc,EACdC,qBAAqB,EACrBC,iBAAiB,EACjBC,oBAAoB,EACpBC,WAAW,EACXC,eAAe,EACfC,WAAW,EACXC,WAAW,EACXC,kBAAkB,EAClBC,WAAW,EACXC,eAAe,EACfC,iBAAiB,EACjBC,iBAAiB,EACjBC,UAAU,EACVC,eAAe,QACV,QAAQ
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","Vc","Proxy","get","Error","vc_facade","action","options","Bls12381G2KeyPair","BoundBls12381G2KeyPair","BbsBlsSignature2020","BbsBlsSignatureProof2020","BbsBlsHolderBoundSignature2022","BbsBlsHolderBoundSignatureProof2022","JsonLd","ldSign","ldVerify","ldDeriveProof","deriveProof","deriveProofHolderBound","createCommitment","verifyCommitment","unblindSignature","JoseNamedCurve","JoseContentEncryption","JoseKeyEncryption","JoseSigningAlgorithm","generateJwk","generateKeyPair","joseEncrypt","joseDecrypt","generalEncryptJson","decryptJson","compactSignJson","compactJsonVerify","flattenedSignJson","jsonVerify","generalSignJson","sdJwtIssue","sdJwtPresent","sdJwtVerify","bbs2023Sign","bbs2023Derive","bbs2023Verify","bbs2023HolderCommit","bbs2023BlindSign","bbsIetfKeygen","bbsIetfSign","bbsIetfVerify","bbsIetfProofGen","bbsIetfProofVerify","BlsCurveName","JwkKty"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACjB,0EAA0E,GAC1ED,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,EAAE,GAAGN,aAAa,CAACM,EAAE,GACvBN,aAAa,CAACM,EAAE,GAChB,IAAIC,KAAK,CACT,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEH,OAAO,SAASQ,SAASA,CAACC,MAAc,EAAEC,OAAe,EAAmB;EAC1E,OAAON,EAAE,CAACI,SAAS,CAACC,MAAM,EAAEC,OAAO,CAAC;AACtC;;AAEA;AACA,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,sBAAsB,QAAQ,0BAA0B;;AAEjE;AACA,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,wBAAwB,QAAQ,4BAA4B;;AAErE;AACA,SAASC,8BAA8B,QAAQ,kCAAkC;AACjF,SAASC,mCAAmC,QAAQ,uCAAuC;;AAE3F;AACA,SAASC,MAAM,QAAQ,UAAU;;AAEjC;AACA,SACEC,MAAM,EACNC,QAAQ,EACRC,aAAa,EACbC,WAAW,EACXC,sBAAsB,QACjB,iBAAiB;;AAExB;AACA,SACEC,gBAAgB,EAChBC,gBAAgB,EAChBC,gBAAgB,QACX,iBAAiB;;AAExB;AACA,SACEC,cAAc,EACdC,qBAAqB,EACrBC,iBAAiB,EACjBC,oBAAoB,EACpBC,WAAW,EACXC,eAAe,EACfC,WAAW,EACXC,WAAW,EACXC,kBAAkB,EAClBC,WAAW,EACXC,eAAe,EACfC,iBAAiB,EACjBC,iBAAiB,EACjBC,UAAU,EACVC,eAAe,QACV,QAAQ;AAGf;AACA,SAASC,UAAU,EAAEC,YAAY,EAAEC,WAAW,QAAQ,UAAU;;AAEhE;AACA,SAASC,WAAW,EAAEC,aAAa,EAAEC,aAAa,EAAEC,mBAAmB,EAAEC,gBAAgB,QAAQ,YAAY;;AAE7G;AACA,SAASC,aAAa,EAAEC,WAAW,EAAEC,aAAa,EAAEC,eAAe,EAAEC,kBAAkB,QAAQ,YAAY;;AAE3G;;AAOA,SAASC,YAAY,EAAEC,MAAM,QAAQ,SAAS","ignoreList":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { vc_facade } from '.';
|
|
2
|
+
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// SD-JWT Issue
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
|
|
7
|
+
export async function sdJwtIssue(claims, disclosable, jwk, alg, holderJwk, decoyCount) {
|
|
8
|
+
const result = await vc_facade('sd_jwt_issue', JSON.stringify({
|
|
9
|
+
claims,
|
|
10
|
+
disclosable,
|
|
11
|
+
jwk,
|
|
12
|
+
alg,
|
|
13
|
+
holderJwk,
|
|
14
|
+
decoyCount
|
|
15
|
+
}));
|
|
16
|
+
return JSON.parse(result);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
// SD-JWT Present
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
|
|
23
|
+
export async function sdJwtPresent(sdJwt, disclosuresToReveal, kbJwk, kbAlg, audience, nonce) {
|
|
24
|
+
const result = await vc_facade('sd_jwt_present', JSON.stringify({
|
|
25
|
+
sdJwt,
|
|
26
|
+
disclosuresToReveal,
|
|
27
|
+
kbJwk,
|
|
28
|
+
kbAlg,
|
|
29
|
+
audience,
|
|
30
|
+
nonce
|
|
31
|
+
}));
|
|
32
|
+
return JSON.parse(result);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
// SD-JWT Verify
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
|
|
39
|
+
export async function sdJwtVerify(presentation, issuerJwk, holderJwk, audience, nonce) {
|
|
40
|
+
const result = await vc_facade('sd_jwt_verify', JSON.stringify({
|
|
41
|
+
presentation,
|
|
42
|
+
issuerJwk,
|
|
43
|
+
holderJwk,
|
|
44
|
+
audience,
|
|
45
|
+
nonce
|
|
46
|
+
}));
|
|
47
|
+
return JSON.parse(result);
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=sd_jwt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["vc_facade","sdJwtIssue","claims","disclosable","jwk","alg","holderJwk","decoyCount","result","JSON","stringify","parse","sdJwtPresent","sdJwt","disclosuresToReveal","kbJwk","kbAlg","audience","nonce","sdJwtVerify","presentation","issuerJwk"],"sourceRoot":"../../src","sources":["sd_jwt.ts"],"mappings":"AAAA,SAASA,SAAS,QAAQ,GAAG;;AAE7B;AACA;AACA;;AAEA,OAAO,eAAeC,UAAUA,CAC9BC,MAAW,EACXC,WAAqB,EACrBC,GAAQ,EACRC,GAAW,EACXC,SAAe,EACfC,UAAmB,EACL;EACd,MAAMC,MAAM,GAAG,MAAMR,SAAS,CAC5B,cAAc,EACdS,IAAI,CAACC,SAAS,CAAC;IAAER,MAAM;IAAEC,WAAW;IAAEC,GAAG;IAAEC,GAAG;IAAEC,SAAS;IAAEC;EAAW,CAAC,CACzE,CAAC;EACD,OAAOE,IAAI,CAACE,KAAK,CAACH,MAAM,CAAC;AAC3B;;AAEA;AACA;AACA;;AAEA,OAAO,eAAeI,YAAYA,CAChCC,KAAa,EACbC,mBAA6B,EAC7BC,KAAW,EACXC,KAAc,EACdC,QAAiB,EACjBC,KAAc,EACA;EACd,MAAMV,MAAM,GAAG,MAAMR,SAAS,CAC5B,gBAAgB,EAChBS,IAAI,CAACC,SAAS,CAAC;IAAEG,KAAK;IAAEC,mBAAmB;IAAEC,KAAK;IAAEC,KAAK;IAAEC,QAAQ;IAAEC;EAAM,CAAC,CAC9E,CAAC;EACD,OAAOT,IAAI,CAACE,KAAK,CAACH,MAAM,CAAC;AAC3B;;AAEA;AACA;AACA;;AAEA,OAAO,eAAeW,WAAWA,CAC/BC,YAAoB,EACpBC,SAAc,EACdf,SAAe,EACfW,QAAiB,EACjBC,KAAc,EACA;EACd,MAAMV,MAAM,GAAG,MAAMR,SAAS,CAC5B,eAAe,EACfS,IAAI,CAACC,SAAS,CAAC;IAAEU,YAAY;IAAEC,SAAS;IAAEf,SAAS;IAAEW,QAAQ;IAAEC;EAAM,CAAC,CACxE,CAAC;EACD,OAAOT,IAAI,CAACE,KAAK,CAACH,MAAM,CAAC;AAC3B","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function bbs2023Sign(options: any): Promise<any>;
|
|
2
|
+
export declare function bbs2023Derive(options: any): Promise<any>;
|
|
3
|
+
export declare function bbs2023Verify(document: any, publicKey?: string): Promise<any>;
|
|
4
|
+
export declare function bbs2023HolderCommit(options: any): Promise<any>;
|
|
5
|
+
export declare function bbs2023BlindSign(options: any): Promise<any>;
|
|
6
|
+
//# sourceMappingURL=bbs_2023.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bbs_2023.d.ts","sourceRoot":"","sources":["../../../src/bbs_2023.ts"],"names":[],"mappings":"AAMA,wBAAsB,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAM5D;AAMD,wBAAsB,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAM9D;AAMD,wBAAsB,aAAa,CACjC,QAAQ,EAAE,GAAG,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,GAAG,CAAC,CAMd;AAMD,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAMpE;AAMD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAMjE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function bbsIetfKeygen(ikm?: string, keyInfo?: string, ciphersuite?: string): Promise<{
|
|
2
|
+
secretKey: string;
|
|
3
|
+
publicKey: string;
|
|
4
|
+
}>;
|
|
5
|
+
export declare function bbsIetfSign(secretKey: string, publicKey: string, header: string | undefined, messages: string[], ciphersuite?: string): Promise<string>;
|
|
6
|
+
export declare function bbsIetfVerify(publicKey: string, signature: string, header: string | undefined, messages: string[], ciphersuite?: string): Promise<boolean>;
|
|
7
|
+
export declare function bbsIetfProofGen(publicKey: string, signature: string, header: string | undefined, presentationHeader: string | undefined, messages: string[], disclosedIndices: number[], ciphersuite?: string): Promise<string>;
|
|
8
|
+
export declare function bbsIetfProofVerify(publicKey: string, proof: string, header: string | undefined, presentationHeader: string | undefined, disclosedMessages: Record<string, string>, totalMessageCount: number, ciphersuite?: string): Promise<boolean>;
|
|
9
|
+
//# sourceMappingURL=bbs_ietf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bbs_ietf.d.ts","sourceRoot":"","sources":["../../../src/bbs_ietf.ts"],"names":[],"mappings":"AAMA,wBAAsB,aAAa,CACjC,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAMnD;AAMD,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAMjB;AAMD,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAMlB;AAMD,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,QAAQ,EAAE,MAAM,EAAE,EAClB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAcjB;AAMD,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACzC,iBAAiB,EAAE,MAAM,EACzB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAclB"}
|
|
@@ -10,6 +10,9 @@ export { ldSign, ldVerify, ldDeriveProof, deriveProof, deriveProofHolderBound, }
|
|
|
10
10
|
export { createCommitment, verifyCommitment, unblindSignature, } from './blind_signing';
|
|
11
11
|
export { JoseNamedCurve, JoseContentEncryption, JoseKeyEncryption, JoseSigningAlgorithm, generateJwk, generateKeyPair, joseEncrypt, joseDecrypt, generalEncryptJson, decryptJson, compactSignJson, compactJsonVerify, flattenedSignJson, jsonVerify, generalSignJson, } from './jose';
|
|
12
12
|
export type { JoseEncryptResult } from './jose';
|
|
13
|
+
export { sdJwtIssue, sdJwtPresent, sdJwtVerify } from './sd_jwt';
|
|
14
|
+
export { bbs2023Sign, bbs2023Derive, bbs2023Verify, bbs2023HolderCommit, bbs2023BlindSign } from './bbs_2023';
|
|
15
|
+
export { bbsIetfKeygen, bbsIetfSign, bbsIetfVerify, bbsIetfProofGen, bbsIetfProofVerify } from './bbs_ietf';
|
|
13
16
|
export type { KeyPairOptions, GenerateKeyPairOptions, JsonWebKey, JwkKeyPairOptions, KeyPairSigner, KeyPairVerifier } from './types';
|
|
14
17
|
export type { BoundKeyPairOptions } from './BoundBls12381G2KeyPair';
|
|
15
18
|
export type { SignatureSuiteOptions, CreateProofOptions, VerifyProofOptions } from './BbsBlsSignature2020';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAmBA,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1E;AAGD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AAG5F,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EACL,MAAM,EACN,QAAQ,EACR,aAAa,EACb,WAAW,EACX,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,eAAe,GAChB,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAGhD,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACrI,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3G,YAAY,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAChG,YAAY,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AACrI,YAAY,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AACrH,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAmBA,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1E;AAGD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AAG5F,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EACL,MAAM,EACN,QAAQ,EACR,aAAa,EACb,WAAW,EACX,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,eAAe,GAChB,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAGhD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGjE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9G,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAG5G,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACrI,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3G,YAAY,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAChG,YAAY,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AACrI,YAAY,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AACrH,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function sdJwtIssue(claims: any, disclosable: string[], jwk: any, alg: string, holderJwk?: any, decoyCount?: number): Promise<any>;
|
|
2
|
+
export declare function sdJwtPresent(sdJwt: string, disclosuresToReveal: string[], kbJwk?: any, kbAlg?: string, audience?: string, nonce?: string): Promise<any>;
|
|
3
|
+
export declare function sdJwtVerify(presentation: string, issuerJwk: any, holderJwk?: any, audience?: string, nonce?: string): Promise<any>;
|
|
4
|
+
//# sourceMappingURL=sd_jwt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sd_jwt.d.ts","sourceRoot":"","sources":["../../../src/sd_jwt.ts"],"names":[],"mappings":"AAMA,wBAAsB,UAAU,CAC9B,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,MAAM,EAAE,EACrB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,GAAG,EACf,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,CAAC,CAMd;AAMD,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,mBAAmB,EAAE,MAAM,EAAE,EAC7B,KAAK,CAAC,EAAE,GAAG,EACX,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,GAAG,CAAC,CAMd;AAMD,wBAAsB,WAAW,CAC/B,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,GAAG,EACd,SAAS,CAAC,EAAE,GAAG,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,GAAG,CAAC,CAMd"}
|
package/package.json
CHANGED
package/src/bbs_2023.ts
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { vc_facade } from '.';
|
|
2
|
+
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// bbs2023Sign — create a base proof (issuer)
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
|
|
7
|
+
export async function bbs2023Sign(options: any): Promise<any> {
|
|
8
|
+
const result = await vc_facade(
|
|
9
|
+
'bbs_2023_sign',
|
|
10
|
+
JSON.stringify(options)
|
|
11
|
+
);
|
|
12
|
+
return JSON.parse(result);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
// bbs2023Derive — create a derived proof (holder)
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
|
|
19
|
+
export async function bbs2023Derive(options: any): Promise<any> {
|
|
20
|
+
const result = await vc_facade(
|
|
21
|
+
'bbs_2023_derive',
|
|
22
|
+
JSON.stringify(options)
|
|
23
|
+
);
|
|
24
|
+
return JSON.parse(result);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
// bbs2023Verify — verify a base or derived proof
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
|
|
31
|
+
export async function bbs2023Verify(
|
|
32
|
+
document: any,
|
|
33
|
+
publicKey?: string
|
|
34
|
+
): Promise<any> {
|
|
35
|
+
const result = await vc_facade(
|
|
36
|
+
'bbs_2023_verify',
|
|
37
|
+
JSON.stringify({ document, publicKey })
|
|
38
|
+
);
|
|
39
|
+
return JSON.parse(result);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
// bbs2023HolderCommit — holder creates Pedersen commitment for blind signing
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
|
|
46
|
+
export async function bbs2023HolderCommit(options: any): Promise<any> {
|
|
47
|
+
const result = await vc_facade(
|
|
48
|
+
'bbs_2023_holder_commit',
|
|
49
|
+
JSON.stringify(options)
|
|
50
|
+
);
|
|
51
|
+
return JSON.parse(result);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// ---------------------------------------------------------------------------
|
|
55
|
+
// bbs2023BlindSign — issuer creates blind base proof with holder's commitment
|
|
56
|
+
// ---------------------------------------------------------------------------
|
|
57
|
+
|
|
58
|
+
export async function bbs2023BlindSign(options: any): Promise<any> {
|
|
59
|
+
const result = await vc_facade(
|
|
60
|
+
'bbs_2023_blind_sign',
|
|
61
|
+
JSON.stringify(options)
|
|
62
|
+
);
|
|
63
|
+
return JSON.parse(result);
|
|
64
|
+
}
|
package/src/bbs_ietf.ts
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { vc_facade } from '.';
|
|
2
|
+
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Key Generation
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
|
|
7
|
+
export async function bbsIetfKeygen(
|
|
8
|
+
ikm?: string,
|
|
9
|
+
keyInfo?: string,
|
|
10
|
+
ciphersuite?: string
|
|
11
|
+
): Promise<{ secretKey: string; publicKey: string }> {
|
|
12
|
+
const result = await vc_facade(
|
|
13
|
+
'bbs_ietf_keygen',
|
|
14
|
+
JSON.stringify({ ikm, keyInfo, ciphersuite })
|
|
15
|
+
);
|
|
16
|
+
return JSON.parse(result);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
// Sign
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
|
|
23
|
+
export async function bbsIetfSign(
|
|
24
|
+
secretKey: string,
|
|
25
|
+
publicKey: string,
|
|
26
|
+
header: string | undefined,
|
|
27
|
+
messages: string[],
|
|
28
|
+
ciphersuite?: string
|
|
29
|
+
): Promise<string> {
|
|
30
|
+
const result = await vc_facade(
|
|
31
|
+
'bbs_ietf_sign',
|
|
32
|
+
JSON.stringify({ secretKey, publicKey, header, messages, ciphersuite })
|
|
33
|
+
);
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
// Verify
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
|
|
41
|
+
export async function bbsIetfVerify(
|
|
42
|
+
publicKey: string,
|
|
43
|
+
signature: string,
|
|
44
|
+
header: string | undefined,
|
|
45
|
+
messages: string[],
|
|
46
|
+
ciphersuite?: string
|
|
47
|
+
): Promise<boolean> {
|
|
48
|
+
const result = await vc_facade(
|
|
49
|
+
'bbs_ietf_verify',
|
|
50
|
+
JSON.stringify({ publicKey, signature, header, messages, ciphersuite })
|
|
51
|
+
);
|
|
52
|
+
return result === 'true';
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// ---------------------------------------------------------------------------
|
|
56
|
+
// ProofGen
|
|
57
|
+
// ---------------------------------------------------------------------------
|
|
58
|
+
|
|
59
|
+
export async function bbsIetfProofGen(
|
|
60
|
+
publicKey: string,
|
|
61
|
+
signature: string,
|
|
62
|
+
header: string | undefined,
|
|
63
|
+
presentationHeader: string | undefined,
|
|
64
|
+
messages: string[],
|
|
65
|
+
disclosedIndices: number[],
|
|
66
|
+
ciphersuite?: string
|
|
67
|
+
): Promise<string> {
|
|
68
|
+
const result = await vc_facade(
|
|
69
|
+
'bbs_ietf_proof_gen',
|
|
70
|
+
JSON.stringify({
|
|
71
|
+
publicKey,
|
|
72
|
+
signature,
|
|
73
|
+
header,
|
|
74
|
+
presentationHeader,
|
|
75
|
+
messages,
|
|
76
|
+
disclosedIndices,
|
|
77
|
+
ciphersuite,
|
|
78
|
+
})
|
|
79
|
+
);
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// ---------------------------------------------------------------------------
|
|
84
|
+
// ProofVerify
|
|
85
|
+
// ---------------------------------------------------------------------------
|
|
86
|
+
|
|
87
|
+
export async function bbsIetfProofVerify(
|
|
88
|
+
publicKey: string,
|
|
89
|
+
proof: string,
|
|
90
|
+
header: string | undefined,
|
|
91
|
+
presentationHeader: string | undefined,
|
|
92
|
+
disclosedMessages: Record<string, string>,
|
|
93
|
+
totalMessageCount: number,
|
|
94
|
+
ciphersuite?: string
|
|
95
|
+
): Promise<boolean> {
|
|
96
|
+
const result = await vc_facade(
|
|
97
|
+
'bbs_ietf_proof_verify',
|
|
98
|
+
JSON.stringify({
|
|
99
|
+
publicKey,
|
|
100
|
+
proof,
|
|
101
|
+
header,
|
|
102
|
+
presentationHeader,
|
|
103
|
+
disclosedMessages,
|
|
104
|
+
totalMessageCount,
|
|
105
|
+
ciphersuite,
|
|
106
|
+
})
|
|
107
|
+
);
|
|
108
|
+
return result === 'true';
|
|
109
|
+
}
|
package/src/index.tsx
CHANGED
|
@@ -72,6 +72,15 @@ export {
|
|
|
72
72
|
} from './jose';
|
|
73
73
|
export type { JoseEncryptResult } from './jose';
|
|
74
74
|
|
|
75
|
+
// SD-JWT operations
|
|
76
|
+
export { sdJwtIssue, sdJwtPresent, sdJwtVerify } from './sd_jwt';
|
|
77
|
+
|
|
78
|
+
// BBS-2023 Data Integrity
|
|
79
|
+
export { bbs2023Sign, bbs2023Derive, bbs2023Verify, bbs2023HolderCommit, bbs2023BlindSign } from './bbs_2023';
|
|
80
|
+
|
|
81
|
+
// BBS IETF low-level crypto
|
|
82
|
+
export { bbsIetfKeygen, bbsIetfSign, bbsIetfVerify, bbsIetfProofGen, bbsIetfProofVerify } from './bbs_ietf';
|
|
83
|
+
|
|
75
84
|
// Types
|
|
76
85
|
export type { KeyPairOptions, GenerateKeyPairOptions, JsonWebKey, JwkKeyPairOptions, KeyPairSigner, KeyPairVerifier } from './types';
|
|
77
86
|
export type { BoundKeyPairOptions } from './BoundBls12381G2KeyPair';
|
package/src/sd_jwt.ts
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { vc_facade } from '.';
|
|
2
|
+
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// SD-JWT Issue
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
|
|
7
|
+
export async function sdJwtIssue(
|
|
8
|
+
claims: any,
|
|
9
|
+
disclosable: string[],
|
|
10
|
+
jwk: any,
|
|
11
|
+
alg: string,
|
|
12
|
+
holderJwk?: any,
|
|
13
|
+
decoyCount?: number
|
|
14
|
+
): Promise<any> {
|
|
15
|
+
const result = await vc_facade(
|
|
16
|
+
'sd_jwt_issue',
|
|
17
|
+
JSON.stringify({ claims, disclosable, jwk, alg, holderJwk, decoyCount })
|
|
18
|
+
);
|
|
19
|
+
return JSON.parse(result);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
// SD-JWT Present
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
|
|
26
|
+
export async function sdJwtPresent(
|
|
27
|
+
sdJwt: string,
|
|
28
|
+
disclosuresToReveal: string[],
|
|
29
|
+
kbJwk?: any,
|
|
30
|
+
kbAlg?: string,
|
|
31
|
+
audience?: string,
|
|
32
|
+
nonce?: string
|
|
33
|
+
): Promise<any> {
|
|
34
|
+
const result = await vc_facade(
|
|
35
|
+
'sd_jwt_present',
|
|
36
|
+
JSON.stringify({ sdJwt, disclosuresToReveal, kbJwk, kbAlg, audience, nonce })
|
|
37
|
+
);
|
|
38
|
+
return JSON.parse(result);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
// SD-JWT Verify
|
|
43
|
+
// ---------------------------------------------------------------------------
|
|
44
|
+
|
|
45
|
+
export async function sdJwtVerify(
|
|
46
|
+
presentation: string,
|
|
47
|
+
issuerJwk: any,
|
|
48
|
+
holderJwk?: any,
|
|
49
|
+
audience?: string,
|
|
50
|
+
nonce?: string
|
|
51
|
+
): Promise<any> {
|
|
52
|
+
const result = await vc_facade(
|
|
53
|
+
'sd_jwt_verify',
|
|
54
|
+
JSON.stringify({ presentation, issuerJwk, holderJwk, audience, nonce })
|
|
55
|
+
);
|
|
56
|
+
return JSON.parse(result);
|
|
57
|
+
}
|