@nuggetslife/vc-rn 0.1.8 → 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/lib/commonjs/BbsBlsHolderBoundSignature2022.js +4 -9
- package/lib/commonjs/BbsBlsHolderBoundSignature2022.js.map +1 -1
- package/lib/commonjs/BbsBlsHolderBoundSignatureProof2022.js +3 -9
- package/lib/commonjs/BbsBlsHolderBoundSignatureProof2022.js.map +1 -1
- package/lib/commonjs/BbsBlsSignatureProof2020.js +0 -1
- package/lib/commonjs/BbsBlsSignatureProof2020.js.map +1 -1
- package/lib/commonjs/Bls12381G2KeyPair.js +3 -3
- package/lib/commonjs/Bls12381G2KeyPair.js.map +1 -1
- package/lib/commonjs/blind_signing.js +12 -30
- package/lib/commonjs/blind_signing.js.map +1 -1
- package/lib/commonjs/index.js +93 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/jose.js +228 -0
- package/lib/commonjs/jose.js.map +1 -0
- package/lib/commonjs/ld_signatures.js +3 -12
- package/lib/commonjs/ld_signatures.js.map +1 -1
- package/lib/commonjs/utils/codec.js +12 -0
- package/lib/commonjs/utils/codec.js.map +1 -1
- package/lib/commonjs/utils/index.js +12 -0
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/module/BbsBlsHolderBoundSignature2022.js +1 -6
- package/lib/module/BbsBlsHolderBoundSignature2022.js.map +1 -1
- package/lib/module/BbsBlsHolderBoundSignatureProof2022.js +1 -7
- package/lib/module/BbsBlsHolderBoundSignatureProof2022.js.map +1 -1
- package/lib/module/BbsBlsSignatureProof2020.js +0 -1
- package/lib/module/BbsBlsSignatureProof2020.js.map +1 -1
- package/lib/module/Bls12381G2KeyPair.js +3 -3
- package/lib/module/Bls12381G2KeyPair.js.map +1 -1
- package/lib/module/blind_signing.js +1 -19
- package/lib/module/blind_signing.js.map +1 -1
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/jose.js +216 -0
- package/lib/module/jose.js.map +1 -0
- package/lib/module/ld_signatures.js +1 -10
- package/lib/module/ld_signatures.js.map +1 -1
- package/lib/module/utils/codec.js +11 -1
- package/lib/module/utils/codec.js.map +1 -1
- package/lib/module/utils/index.js +1 -1
- package/lib/module/utils/index.js.map +1 -1
- package/lib/typescript/src/BbsBlsHolderBoundSignature2022.d.ts.map +1 -1
- package/lib/typescript/src/BbsBlsHolderBoundSignatureProof2022.d.ts +0 -1
- package/lib/typescript/src/BbsBlsHolderBoundSignatureProof2022.d.ts.map +1 -1
- package/lib/typescript/src/BbsBlsSignatureProof2020.d.ts +0 -1
- package/lib/typescript/src/BbsBlsSignatureProof2020.d.ts.map +1 -1
- package/lib/typescript/src/blind_signing.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/jose.d.ts +106 -0
- package/lib/typescript/src/jose.d.ts.map +1 -0
- package/lib/typescript/src/ld_signatures.d.ts.map +1 -1
- package/lib/typescript/src/utils/codec.d.ts +2 -0
- package/lib/typescript/src/utils/codec.d.ts.map +1 -1
- package/lib/typescript/src/utils/index.d.ts +1 -1
- package/lib/typescript/src/utils/index.d.ts.map +1 -1
- package/package.json +1 -2
- package/src/BbsBlsHolderBoundSignature2022.ts +1 -5
- package/src/BbsBlsHolderBoundSignatureProof2022.ts +1 -7
- package/src/BbsBlsSignatureProof2020.ts +0 -2
- package/src/Bls12381G2KeyPair.ts +3 -3
- package/src/blind_signing.ts +1 -15
- package/src/index.tsx +20 -0
- package/src/jose.ts +246 -0
- package/src/ld_signatures.ts +1 -8
- package/src/utils/codec.ts +9 -1
- package/src/utils/index.ts +1 -1
- package/lib/commonjs/index.d.js +0 -18
- package/lib/commonjs/index.d.js.map +0 -1
- package/lib/module/index.d.js +0 -9
- package/lib/module/index.d.js.map +0 -1
- package/src/index.d.ts +0 -126
|
@@ -5,12 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.BbsBlsHolderBoundSignature2022 = void 0;
|
|
7
7
|
var _ = require(".");
|
|
8
|
-
var
|
|
9
|
-
function toBase64(data) {
|
|
10
|
-
return _rfc.base64.stringify(data, {
|
|
11
|
-
pad: true
|
|
12
|
-
});
|
|
13
|
-
}
|
|
8
|
+
var _utils = require("./utils");
|
|
14
9
|
const BBS_CONTEXT_URL = 'https://w3id.org/security/bbs/v1';
|
|
15
10
|
const BBS_BOUND_CONTEXT_URL = 'https://schemas.nuggets.life/bbsBoundv1.json';
|
|
16
11
|
class BbsBlsHolderBoundSignature2022 {
|
|
@@ -53,7 +48,7 @@ class BbsBlsHolderBoundSignature2022 {
|
|
|
53
48
|
const signed = await (0, _.vc_facade)('ld_holder_bound_sign', JSON.stringify({
|
|
54
49
|
document: options.document,
|
|
55
50
|
keyPair: this.key,
|
|
56
|
-
commitment: toBase64(this.commitment),
|
|
51
|
+
commitment: (0, _utils.toBase64)(this.commitment),
|
|
57
52
|
blinded: this.blinded,
|
|
58
53
|
contexts: options.contexts
|
|
59
54
|
}));
|
|
@@ -68,8 +63,8 @@ class BbsBlsHolderBoundSignature2022 {
|
|
|
68
63
|
async verifyProof(options) {
|
|
69
64
|
const result = await (0, _.vc_facade)('ld_holder_bound_verify', JSON.stringify({
|
|
70
65
|
document: options.document,
|
|
71
|
-
blindingFactor: toBase64(options.blindingFactor),
|
|
72
|
-
blindedMessages: options.blindedMessages.map(m => toBase64(m)),
|
|
66
|
+
blindingFactor: (0, _utils.toBase64)(options.blindingFactor),
|
|
67
|
+
blindedMessages: options.blindedMessages.map(m => (0, _utils.toBase64)(m)),
|
|
73
68
|
contexts: options.contexts
|
|
74
69
|
}));
|
|
75
70
|
return JSON.parse(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_","require","
|
|
1
|
+
{"version":3,"names":["_","require","_utils","BBS_CONTEXT_URL","BBS_BOUND_CONTEXT_URL","BbsBlsHolderBoundSignature2022","type","constructor","options","_options$key","key","verificationMethod","id","commitment","blinded","createBlindSignCommitmentContext","result","vc_facade","JSON","stringify","document","keyPair","contexts","parse","createProof","Error","signed","toBase64","signedDoc","proof","verifyProof","blindingFactor","blindedMessages","map","m","ensureSuiteContext","doc","contextUrl","context","hasContext","Array","isArray","some","c","proofType","exports"],"sourceRoot":"../../src","sources":["BbsBlsHolderBoundSignature2022.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,15 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.BbsBlsHolderBoundSignatureProof2022 = void 0;
|
|
7
7
|
var _ = require(".");
|
|
8
|
-
var
|
|
9
|
-
function toBase64(data) {
|
|
10
|
-
return _rfc.base64.stringify(data, {
|
|
11
|
-
pad: true
|
|
12
|
-
});
|
|
13
|
-
}
|
|
8
|
+
var _utils = require("./utils");
|
|
14
9
|
class BbsBlsHolderBoundSignatureProof2022 {
|
|
15
10
|
type = 'sec:BbsBlsHolderBoundSignatureProof2022';
|
|
16
|
-
constructor() {}
|
|
17
11
|
|
|
18
12
|
/**
|
|
19
13
|
* Derive a selective disclosure proof from a holder-bound signed document.
|
|
@@ -22,8 +16,8 @@ class BbsBlsHolderBoundSignatureProof2022 {
|
|
|
22
16
|
const result = await (0, _.vc_facade)('ld_holder_bound_derive_proof', JSON.stringify({
|
|
23
17
|
document: options.document,
|
|
24
18
|
revealDocument: options.revealDocument,
|
|
25
|
-
blindingFactor: toBase64(options.blindingFactor),
|
|
26
|
-
blindedMessages: options.blindedMessages.map(m => toBase64(m)),
|
|
19
|
+
blindingFactor: (0, _utils.toBase64)(options.blindingFactor),
|
|
20
|
+
blindedMessages: options.blindedMessages.map(m => (0, _utils.toBase64)(m)),
|
|
27
21
|
nonce: options.nonce,
|
|
28
22
|
contexts: options.contexts
|
|
29
23
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_","require","
|
|
1
|
+
{"version":3,"names":["_","require","_utils","BbsBlsHolderBoundSignatureProof2022","type","deriveProof","options","result","vc_facade","JSON","stringify","document","revealDocument","blindingFactor","toBase64","blindedMessages","map","m","nonce","contexts","parse","verifyProof","proofType","supportedDerivedProofType","exports"],"sourceRoot":"../../src","sources":["BbsBlsHolderBoundSignatureProof2022.ts"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAgBO,MAAME,mCAAmC,CAAC;EAC/CC,IAAI,GAAG,yCAAyC;;EAEhD;AACF;AACA;EACE,MAAMC,WAAWA,CAACC,OAAgC,EAAgB;IAChE,MAAMC,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,8BAA8B,EAC9BC,IAAI,CAACC,SAAS,CAAC;MACbC,QAAQ,EAAEL,OAAO,CAACK,QAAQ;MAC1BC,cAAc,EAAEN,OAAO,CAACM,cAAc;MACtCC,cAAc,EAAE,IAAAC,eAAQ,EAACR,OAAO,CAACO,cAAc,CAAC;MAChDE,eAAe,EAAET,OAAO,CAACS,eAAe,CAACC,GAAG,CAAEC,CAAC,IAAK,IAAAH,eAAQ,EAACG,CAAC,CAAC,CAAC;MAChEC,KAAK,EAAEZ,OAAO,CAACY,KAAK;MACpBC,QAAQ,EAAEb,OAAO,CAACa;IACpB,CAAC,CACH,CAAC;IACD,OAAOV,IAAI,CAACW,KAAK,CAACb,MAAM,CAAC;EAC3B;;EAEA;AACF;AACA;AACA;EACE,MAAMc,WAAWA,CAACf,OAAuC,EAGtD;IACD,MAAMC,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,WAAW,EACXC,IAAI,CAACC,SAAS,CAAC;MACbC,QAAQ,EAAEL,OAAO,CAACK,QAAQ;MAC1BQ,QAAQ,EAAEb,OAAO,CAACa;IACpB,CAAC,CACH,CAAC;IACD,OAAOV,IAAI,CAACW,KAAK,CAACb,MAAM,CAAC;EAC3B;EAEA,IAAIe,SAASA,CAAA,EAAa;IACxB,OAAO,CACL,qCAAqC,EACrC,yCAAyC,EACzC,+DAA+D,CAChE;EACH;EAEA,IAAIC,yBAAyBA,CAAA,EAAa;IACxC,OAAO,CACL,gCAAgC,EAChC,oCAAoC,EACpC,0DAA0D,CAC3D;EACH;AACF;AAACC,OAAA,CAAArB,mCAAA,GAAAA,mCAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_","require","BbsBlsSignatureProof2020","type","
|
|
1
|
+
{"version":3,"names":["_","require","BbsBlsSignatureProof2020","type","deriveProof","options","result","vc_facade","JSON","stringify","document","revealDocument","nonce","contexts","parse","verifyProof","proofType","supportedDerivedProofType","exports"],"sourceRoot":"../../src","sources":["BbsBlsSignatureProof2020.ts"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AAcO,MAAMC,wBAAwB,CAAC;EACpCC,IAAI,GAAG,8BAA8B;;EAErC;AACF;AACA;EACE,MAAMC,WAAWA,CAACC,OAA2B,EAAgB;IAC3D,MAAMC,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,iBAAiB,EACjBC,IAAI,CAACC,SAAS,CAAC;MACbC,QAAQ,EAAEL,OAAO,CAACK,QAAQ;MAC1BC,cAAc,EAAEN,OAAO,CAACM,cAAc;MACtCC,KAAK,EAAEP,OAAO,CAACO,KAAK;MACpBC,QAAQ,EAAER,OAAO,CAACQ;IACpB,CAAC,CACH,CAAC;IACD,OAAOL,IAAI,CAACM,KAAK,CAACR,MAAM,CAAC;EAC3B;;EAEA;AACF;AACA;AACA;EACE,MAAMS,WAAWA,CAACV,OAAkC,EAGjD;IACD,MAAMC,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,WAAW,EACXC,IAAI,CAACC,SAAS,CAAC;MACbC,QAAQ,EAAEL,OAAO,CAACK,QAAQ;MAC1BG,QAAQ,EAAER,OAAO,CAACQ;IACpB,CAAC,CACH,CAAC;IACD,OAAOL,IAAI,CAACM,KAAK,CAACR,MAAM,CAAC;EAC3B;EAEA,IAAIU,SAASA,CAAA,EAAa;IACxB,OAAO,CACL,0BAA0B,EAC1B,8BAA8B,EAC9B,oDAAoD,CACrD;EACH;EAEA,IAAIC,yBAAyBA,CAAA,EAAa;IACxC,OAAO,CACL,qBAAqB,EACrB,yBAAyB,EACzB,+CAA+C,CAChD;EACH;AACF;AAACC,OAAA,CAAAhB,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -207,12 +207,12 @@ class Bls12381G2KeyPair {
|
|
|
207
207
|
controller,
|
|
208
208
|
fingerprint
|
|
209
209
|
}) {
|
|
210
|
-
if (fingerprint.
|
|
211
|
-
throw new Error(`Unsupported fingerprint type: expected first character to be \`z\` indicating base58 encoding, received \`${fingerprint.
|
|
210
|
+
if (fingerprint.slice(0, 1) != MULTIBASE_ENCODED_BASE58_IDENTIFIER) {
|
|
211
|
+
throw new Error(`Unsupported fingerprint type: expected first character to be \`z\` indicating base58 encoding, received \`${fingerprint.slice(0, 1)}\``);
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
// parse of the multi-format public key removing the `z` that indicates base58 encoding
|
|
215
|
-
const buffer = _bs.default.decode(fingerprint.
|
|
215
|
+
const buffer = _bs.default.decode(fingerprint.slice(1));
|
|
216
216
|
if (buffer.length !== DEFAULT_BLS12381_G2_PUBLIC_KEY_LENGTH + 2) {
|
|
217
217
|
throw new Error(`Unsupported public key length: expected \`${DEFAULT_BLS12381_G2_PUBLIC_KEY_LENGTH}\` received \`${buffer.length - 2}\``);
|
|
218
218
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_","require","_bs","_interopRequireDefault","_Bls12381G2Jwk","_utils","_types","_rfc","e","__esModule","default","MULTIBASE_ENCODED_BASE58_IDENTIFIER","VARIABLE_INTEGER_TRAILING_BYTE","BLS12381G2_MULTICODEC_IDENTIFIER","DEFAULT_BLS12381_G2_PUBLIC_KEY_LENGTH","signerFactory","key","privateKeyInner","sign","Error","data","messages","map","m","bs58","encode","sig_bs58","vc_facade","JSON","stringify","keyPair","secretKey","privateKey","publicKey","decode","verifierFactory","publicKeyInner","verify","signature","res","parse","Bls12381G2KeyPair","type","constructor","options","_options$publicKeyBas","_options$publicKeyBas2","publicKeyBase58","length","_options$publicKeyBas3","privateKeyBase58","id","controller","Array","from","undefined","generate","seed","fromJwk","publicKeyJwk","privateKeyJwk","assertBls12381G2PrivateJwk","convertBase64urlToBase58","x","d","assertBls12381G2PublicJwk","fromFingerprint","fingerprint","
|
|
1
|
+
{"version":3,"names":["_","require","_bs","_interopRequireDefault","_Bls12381G2Jwk","_utils","_types","_rfc","e","__esModule","default","MULTIBASE_ENCODED_BASE58_IDENTIFIER","VARIABLE_INTEGER_TRAILING_BYTE","BLS12381G2_MULTICODEC_IDENTIFIER","DEFAULT_BLS12381_G2_PUBLIC_KEY_LENGTH","signerFactory","key","privateKeyInner","sign","Error","data","messages","map","m","bs58","encode","sig_bs58","vc_facade","JSON","stringify","keyPair","secretKey","privateKey","publicKey","decode","verifierFactory","publicKeyInner","verify","signature","res","parse","Bls12381G2KeyPair","type","constructor","options","_options$publicKeyBas","_options$publicKeyBas2","publicKeyBase58","length","_options$publicKeyBas3","privateKeyBase58","id","controller","Array","from","undefined","generate","seed","fromJwk","publicKeyJwk","privateKeyJwk","assertBls12381G2PrivateJwk","convertBase64urlToBase58","x","d","assertBls12381G2PublicJwk","fromFingerprint","fingerprint","slice","buffer","fingerprintFromPublicKey","publicKeyBuffer","kid","kty","crv","BlsCurveName","G2","base64url","pad","privateKeyBuffer","addEncodedPublicKey","publicKeyNode","Buffer","signer","verifier","keyBytes","Uint8Array","set","verifyFingerprint","error","valid","fingerprintBuffer","uint8ArrayToHexString","equals","exports"],"sourceRoot":"../../src","sources":["Bls12381G2KeyPair.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,25 +7,7 @@ exports.createCommitment = createCommitment;
|
|
|
7
7
|
exports.unblindSignature = unblindSignature;
|
|
8
8
|
exports.verifyCommitment = verifyCommitment;
|
|
9
9
|
var _ = require(".");
|
|
10
|
-
var
|
|
11
|
-
/**
|
|
12
|
-
* Convert a Uint8Array to a standard base64 string.
|
|
13
|
-
*/
|
|
14
|
-
function toBase64(data) {
|
|
15
|
-
return _rfc.base64.stringify(data, {
|
|
16
|
-
pad: true
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Decode a standard base64 string to a Uint8Array.
|
|
22
|
-
*/
|
|
23
|
-
function fromBase64(data) {
|
|
24
|
-
return _rfc.base64.parse(data, {
|
|
25
|
-
loose: true
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
|
|
10
|
+
var _utils = require("./utils");
|
|
29
11
|
/**
|
|
30
12
|
* Create a blind signature commitment (holder side).
|
|
31
13
|
*
|
|
@@ -38,13 +20,13 @@ async function createCommitment(publicKey, messages, blinded, nonce, knownMessag
|
|
|
38
20
|
const idx = blinded[i];
|
|
39
21
|
const msg = messages[i];
|
|
40
22
|
if (idx !== undefined && msg !== undefined) {
|
|
41
|
-
messagesObj[idx.toString()] = toBase64(msg);
|
|
23
|
+
messagesObj[idx.toString()] = (0, _utils.toBase64)(msg);
|
|
42
24
|
}
|
|
43
25
|
}
|
|
44
26
|
const result = await (0, _.vc_facade)('create_commitment', JSON.stringify({
|
|
45
|
-
publicKey: toBase64(publicKey),
|
|
27
|
+
publicKey: (0, _utils.toBase64)(publicKey),
|
|
46
28
|
messages: messagesObj,
|
|
47
|
-
nonce: toBase64(nonce),
|
|
29
|
+
nonce: (0, _utils.toBase64)(nonce),
|
|
48
30
|
totalMessageCount
|
|
49
31
|
}));
|
|
50
32
|
return JSON.parse(result);
|
|
@@ -58,12 +40,12 @@ async function createCommitment(publicKey, messages, blinded, nonce, knownMessag
|
|
|
58
40
|
async function verifyCommitment(publicKey, commitment, proofOfHiddenMessages, challengeHash, blinded, nonce, knownMessageCount) {
|
|
59
41
|
const totalMessageCount = blinded.length + knownMessageCount;
|
|
60
42
|
const result = await (0, _.vc_facade)('verify_commitment', JSON.stringify({
|
|
61
|
-
publicKey: toBase64(publicKey),
|
|
62
|
-
commitment: toBase64(commitment),
|
|
63
|
-
challengeHash: toBase64(challengeHash),
|
|
64
|
-
proofOfHiddenMessages: toBase64(proofOfHiddenMessages),
|
|
43
|
+
publicKey: (0, _utils.toBase64)(publicKey),
|
|
44
|
+
commitment: (0, _utils.toBase64)(commitment),
|
|
45
|
+
challengeHash: (0, _utils.toBase64)(challengeHash),
|
|
46
|
+
proofOfHiddenMessages: (0, _utils.toBase64)(proofOfHiddenMessages),
|
|
65
47
|
blinded,
|
|
66
|
-
nonce: toBase64(nonce),
|
|
48
|
+
nonce: (0, _utils.toBase64)(nonce),
|
|
67
49
|
totalMessageCount
|
|
68
50
|
}));
|
|
69
51
|
return result === 'true';
|
|
@@ -76,9 +58,9 @@ async function verifyCommitment(publicKey, commitment, proofOfHiddenMessages, ch
|
|
|
76
58
|
*/
|
|
77
59
|
async function unblindSignature(blindSignature, blindingFactor) {
|
|
78
60
|
const result = await (0, _.vc_facade)('unblind_signature', JSON.stringify({
|
|
79
|
-
blindSignature: toBase64(blindSignature),
|
|
80
|
-
blindingFactor: toBase64(blindingFactor)
|
|
61
|
+
blindSignature: (0, _utils.toBase64)(blindSignature),
|
|
62
|
+
blindingFactor: (0, _utils.toBase64)(blindingFactor)
|
|
81
63
|
}));
|
|
82
|
-
return fromBase64(result);
|
|
64
|
+
return (0, _utils.fromBase64)(result);
|
|
83
65
|
}
|
|
84
66
|
//# sourceMappingURL=blind_signing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_","require","
|
|
1
|
+
{"version":3,"names":["_","require","_utils","createCommitment","publicKey","messages","blinded","nonce","knownMessageCount","totalMessageCount","length","messagesObj","i","idx","msg","undefined","toString","toBase64","result","vc_facade","JSON","stringify","parse","verifyCommitment","commitment","proofOfHiddenMessages","challengeHash","unblindSignature","blindSignature","blindingFactor","fromBase64"],"sourceRoot":"../../src","sources":["blind_signing.ts"],"mappings":";;;;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,eAAeE,gBAAgBA,CACpCC,SAAqB,EACrBC,QAAsB,EACtBC,OAAiB,EACjBC,KAAiB,EACjBC,iBAAyB,EAMxB;EACD,MAAMC,iBAAiB,GAAGH,OAAO,CAACI,MAAM,GAAGF,iBAAiB;EAC5D,MAAMG,WAAmC,GAAG,CAAC,CAAC;EAC9C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,OAAO,CAACI,MAAM,EAAEE,CAAC,EAAE,EAAE;IACvC,MAAMC,GAAG,GAAGP,OAAO,CAACM,CAAC,CAAC;IACtB,MAAME,GAAG,GAAGT,QAAQ,CAACO,CAAC,CAAC;IACvB,IAAIC,GAAG,KAAKE,SAAS,IAAID,GAAG,KAAKC,SAAS,EAAE;MAC1CJ,WAAW,CAACE,GAAG,CAACG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAAC,eAAQ,EAACH,GAAG,CAAC;IAC7C;EACF;EAEA,MAAMI,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,mBAAmB,EACnBC,IAAI,CAACC,SAAS,CAAC;IACbjB,SAAS,EAAE,IAAAa,eAAQ,EAACb,SAAS,CAAC;IAC9BC,QAAQ,EAAEM,WAAW;IACrBJ,KAAK,EAAE,IAAAU,eAAQ,EAACV,KAAK,CAAC;IACtBE;EACF,CAAC,CACH,CAAC;EACD,OAAOW,IAAI,CAACE,KAAK,CAACJ,MAAM,CAAC;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACO,eAAeK,gBAAgBA,CACpCnB,SAAqB,EACrBoB,UAAsB,EACtBC,qBAAiC,EACjCC,aAAyB,EACzBpB,OAAiB,EACjBC,KAAiB,EACjBC,iBAAyB,EACP;EAClB,MAAMC,iBAAiB,GAAGH,OAAO,CAACI,MAAM,GAAGF,iBAAiB;EAE5D,MAAMU,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,mBAAmB,EACnBC,IAAI,CAACC,SAAS,CAAC;IACbjB,SAAS,EAAE,IAAAa,eAAQ,EAACb,SAAS,CAAC;IAC9BoB,UAAU,EAAE,IAAAP,eAAQ,EAACO,UAAU,CAAC;IAChCE,aAAa,EAAE,IAAAT,eAAQ,EAACS,aAAa,CAAC;IACtCD,qBAAqB,EAAE,IAAAR,eAAQ,EAACQ,qBAAqB,CAAC;IACtDnB,OAAO;IACPC,KAAK,EAAE,IAAAU,eAAQ,EAACV,KAAK,CAAC;IACtBE;EACF,CAAC,CACH,CAAC;EACD,OAAOS,MAAM,KAAK,MAAM;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACO,eAAeS,gBAAgBA,CACpCC,cAA0B,EAC1BC,cAA0B,EACL;EACrB,MAAMX,MAAM,GAAG,MAAM,IAAAC,WAAS,EAC5B,mBAAmB,EACnBC,IAAI,CAACC,SAAS,CAAC;IACbO,cAAc,EAAE,IAAAX,eAAQ,EAACW,cAAc,CAAC;IACxCC,cAAc,EAAE,IAAAZ,eAAQ,EAACY,cAAc;EACzC,CAAC,CACH,CAAC;EACD,OAAO,IAAAC,iBAAU,EAACZ,MAAM,CAAC;AAC3B","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -45,6 +45,30 @@ Object.defineProperty(exports, "BoundBls12381G2KeyPair", {
|
|
|
45
45
|
return _BoundBls12381G2KeyPair.BoundBls12381G2KeyPair;
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
|
+
Object.defineProperty(exports, "JoseContentEncryption", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _jose.JoseContentEncryption;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "JoseKeyEncryption", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _jose.JoseKeyEncryption;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "JoseNamedCurve", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function () {
|
|
63
|
+
return _jose.JoseNamedCurve;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "JoseSigningAlgorithm", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function () {
|
|
69
|
+
return _jose.JoseSigningAlgorithm;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
48
72
|
Object.defineProperty(exports, "JsonLd", {
|
|
49
73
|
enumerable: true,
|
|
50
74
|
get: function () {
|
|
@@ -57,12 +81,30 @@ Object.defineProperty(exports, "JwkKty", {
|
|
|
57
81
|
return _types.JwkKty;
|
|
58
82
|
}
|
|
59
83
|
});
|
|
84
|
+
Object.defineProperty(exports, "compactJsonVerify", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
get: function () {
|
|
87
|
+
return _jose.compactJsonVerify;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
Object.defineProperty(exports, "compactSignJson", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function () {
|
|
93
|
+
return _jose.compactSignJson;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
60
96
|
Object.defineProperty(exports, "createCommitment", {
|
|
61
97
|
enumerable: true,
|
|
62
98
|
get: function () {
|
|
63
99
|
return _blind_signing.createCommitment;
|
|
64
100
|
}
|
|
65
101
|
});
|
|
102
|
+
Object.defineProperty(exports, "decryptJson", {
|
|
103
|
+
enumerable: true,
|
|
104
|
+
get: function () {
|
|
105
|
+
return _jose.decryptJson;
|
|
106
|
+
}
|
|
107
|
+
});
|
|
66
108
|
Object.defineProperty(exports, "deriveProof", {
|
|
67
109
|
enumerable: true,
|
|
68
110
|
get: function () {
|
|
@@ -75,6 +117,54 @@ Object.defineProperty(exports, "deriveProofHolderBound", {
|
|
|
75
117
|
return _ld_signatures.deriveProofHolderBound;
|
|
76
118
|
}
|
|
77
119
|
});
|
|
120
|
+
Object.defineProperty(exports, "flattenedSignJson", {
|
|
121
|
+
enumerable: true,
|
|
122
|
+
get: function () {
|
|
123
|
+
return _jose.flattenedSignJson;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
Object.defineProperty(exports, "generalEncryptJson", {
|
|
127
|
+
enumerable: true,
|
|
128
|
+
get: function () {
|
|
129
|
+
return _jose.generalEncryptJson;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
Object.defineProperty(exports, "generalSignJson", {
|
|
133
|
+
enumerable: true,
|
|
134
|
+
get: function () {
|
|
135
|
+
return _jose.generalSignJson;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
Object.defineProperty(exports, "generateJwk", {
|
|
139
|
+
enumerable: true,
|
|
140
|
+
get: function () {
|
|
141
|
+
return _jose.generateJwk;
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
Object.defineProperty(exports, "generateKeyPair", {
|
|
145
|
+
enumerable: true,
|
|
146
|
+
get: function () {
|
|
147
|
+
return _jose.generateKeyPair;
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
Object.defineProperty(exports, "joseDecrypt", {
|
|
151
|
+
enumerable: true,
|
|
152
|
+
get: function () {
|
|
153
|
+
return _jose.joseDecrypt;
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
Object.defineProperty(exports, "joseEncrypt", {
|
|
157
|
+
enumerable: true,
|
|
158
|
+
get: function () {
|
|
159
|
+
return _jose.joseEncrypt;
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
Object.defineProperty(exports, "jsonVerify", {
|
|
163
|
+
enumerable: true,
|
|
164
|
+
get: function () {
|
|
165
|
+
return _jose.jsonVerify;
|
|
166
|
+
}
|
|
167
|
+
});
|
|
78
168
|
Object.defineProperty(exports, "ldDeriveProof", {
|
|
79
169
|
enumerable: true,
|
|
80
170
|
get: function () {
|
|
@@ -116,6 +206,7 @@ var _BbsBlsHolderBoundSignatureProof = require("./BbsBlsHolderBoundSignatureProo
|
|
|
116
206
|
var _JsonLd = require("./JsonLd");
|
|
117
207
|
var _ld_signatures = require("./ld_signatures");
|
|
118
208
|
var _blind_signing = require("./blind_signing");
|
|
209
|
+
var _jose = require("./jose");
|
|
119
210
|
var _types = require("./types");
|
|
120
211
|
const LINKING_ERROR = `The package '@nuggetslife/vc' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
121
212
|
ios: "- You have run 'pod install'\n",
|
|
@@ -142,5 +233,7 @@ function vc_facade(action, options) {
|
|
|
142
233
|
|
|
143
234
|
// Blind signing functions
|
|
144
235
|
|
|
236
|
+
// JOSE operations
|
|
237
|
+
|
|
145
238
|
// Types
|
|
146
239
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_Bls12381G2KeyPair","_BoundBls12381G2KeyPair","_BbsBlsSignature","_BbsBlsSignatureProof","_BbsBlsHolderBoundSignature","_BbsBlsHolderBoundSignatureProof","_JsonLd","_ld_signatures","_blind_signing","_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","_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;AA0BA,IAAAW,MAAA,GAAAX,OAAA;AA/EA,MAAMY,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","ignoreList":[]}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.JoseSigningAlgorithm = exports.JoseNamedCurve = exports.JoseKeyEncryption = exports.JoseContentEncryption = void 0;
|
|
7
|
+
exports.compactJsonVerify = compactJsonVerify;
|
|
8
|
+
exports.compactSignJson = compactSignJson;
|
|
9
|
+
exports.decryptJson = decryptJson;
|
|
10
|
+
exports.flattenedSignJson = flattenedSignJson;
|
|
11
|
+
exports.generalEncryptJson = generalEncryptJson;
|
|
12
|
+
exports.generalSignJson = generalSignJson;
|
|
13
|
+
exports.generateJwk = generateJwk;
|
|
14
|
+
exports.generateKeyPair = generateKeyPair;
|
|
15
|
+
exports.joseDecrypt = joseDecrypt;
|
|
16
|
+
exports.joseEncrypt = joseEncrypt;
|
|
17
|
+
exports.jsonVerify = jsonVerify;
|
|
18
|
+
var _ = require(".");
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
// Enums — numeric values match NAPI JoseNamedCurve, JoseContentEncryption, etc.
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
let JoseNamedCurve = exports.JoseNamedCurve = /*#__PURE__*/function (JoseNamedCurve) {
|
|
23
|
+
JoseNamedCurve[JoseNamedCurve["P256"] = 0] = "P256";
|
|
24
|
+
JoseNamedCurve[JoseNamedCurve["P384"] = 1] = "P384";
|
|
25
|
+
JoseNamedCurve[JoseNamedCurve["P521"] = 2] = "P521";
|
|
26
|
+
JoseNamedCurve[JoseNamedCurve["Secp256k1"] = 3] = "Secp256k1";
|
|
27
|
+
JoseNamedCurve[JoseNamedCurve["Ed25519"] = 4] = "Ed25519";
|
|
28
|
+
JoseNamedCurve[JoseNamedCurve["Ed448"] = 5] = "Ed448";
|
|
29
|
+
JoseNamedCurve[JoseNamedCurve["X25519"] = 6] = "X25519";
|
|
30
|
+
JoseNamedCurve[JoseNamedCurve["X448"] = 7] = "X448";
|
|
31
|
+
return JoseNamedCurve;
|
|
32
|
+
}({});
|
|
33
|
+
let JoseContentEncryption = exports.JoseContentEncryption = /*#__PURE__*/function (JoseContentEncryption) {
|
|
34
|
+
JoseContentEncryption[JoseContentEncryption["A128gcm"] = 0] = "A128gcm";
|
|
35
|
+
JoseContentEncryption[JoseContentEncryption["A192gcm"] = 1] = "A192gcm";
|
|
36
|
+
JoseContentEncryption[JoseContentEncryption["A256gcm"] = 2] = "A256gcm";
|
|
37
|
+
JoseContentEncryption[JoseContentEncryption["A128cbcHs256"] = 3] = "A128cbcHs256";
|
|
38
|
+
JoseContentEncryption[JoseContentEncryption["A192cbcHs384"] = 4] = "A192cbcHs384";
|
|
39
|
+
JoseContentEncryption[JoseContentEncryption["A256cbcHs512"] = 5] = "A256cbcHs512";
|
|
40
|
+
return JoseContentEncryption;
|
|
41
|
+
}({});
|
|
42
|
+
let JoseKeyEncryption = exports.JoseKeyEncryption = /*#__PURE__*/function (JoseKeyEncryption) {
|
|
43
|
+
JoseKeyEncryption[JoseKeyEncryption["Dir"] = 0] = "Dir";
|
|
44
|
+
JoseKeyEncryption[JoseKeyEncryption["EcdhEs"] = 1] = "EcdhEs";
|
|
45
|
+
JoseKeyEncryption[JoseKeyEncryption["EcdhEsA128kw"] = 2] = "EcdhEsA128kw";
|
|
46
|
+
JoseKeyEncryption[JoseKeyEncryption["EcdhEsA192kw"] = 3] = "EcdhEsA192kw";
|
|
47
|
+
JoseKeyEncryption[JoseKeyEncryption["EcdhEsA256kw"] = 4] = "EcdhEsA256kw";
|
|
48
|
+
JoseKeyEncryption[JoseKeyEncryption["Rsa1_5"] = 5] = "Rsa1_5";
|
|
49
|
+
JoseKeyEncryption[JoseKeyEncryption["RsaOaep"] = 6] = "RsaOaep";
|
|
50
|
+
JoseKeyEncryption[JoseKeyEncryption["RsaOaep256"] = 7] = "RsaOaep256";
|
|
51
|
+
JoseKeyEncryption[JoseKeyEncryption["RsaOaep384"] = 8] = "RsaOaep384";
|
|
52
|
+
JoseKeyEncryption[JoseKeyEncryption["RsaOaep512"] = 9] = "RsaOaep512";
|
|
53
|
+
JoseKeyEncryption[JoseKeyEncryption["Pbes2Hs256A128kw"] = 10] = "Pbes2Hs256A128kw";
|
|
54
|
+
JoseKeyEncryption[JoseKeyEncryption["Pbes2Hs384A192kw"] = 11] = "Pbes2Hs384A192kw";
|
|
55
|
+
JoseKeyEncryption[JoseKeyEncryption["Pbes2Hs512A256kw"] = 12] = "Pbes2Hs512A256kw";
|
|
56
|
+
JoseKeyEncryption[JoseKeyEncryption["A128kw"] = 13] = "A128kw";
|
|
57
|
+
JoseKeyEncryption[JoseKeyEncryption["A192kw"] = 14] = "A192kw";
|
|
58
|
+
JoseKeyEncryption[JoseKeyEncryption["A256kw"] = 15] = "A256kw";
|
|
59
|
+
JoseKeyEncryption[JoseKeyEncryption["A128gcmkw"] = 16] = "A128gcmkw";
|
|
60
|
+
JoseKeyEncryption[JoseKeyEncryption["A192gcmkw"] = 17] = "A192gcmkw";
|
|
61
|
+
JoseKeyEncryption[JoseKeyEncryption["A256gcmkw"] = 18] = "A256gcmkw";
|
|
62
|
+
return JoseKeyEncryption;
|
|
63
|
+
}({});
|
|
64
|
+
let JoseSigningAlgorithm = exports.JoseSigningAlgorithm = /*#__PURE__*/function (JoseSigningAlgorithm) {
|
|
65
|
+
JoseSigningAlgorithm[JoseSigningAlgorithm["Es256"] = 0] = "Es256";
|
|
66
|
+
JoseSigningAlgorithm[JoseSigningAlgorithm["Es384"] = 1] = "Es384";
|
|
67
|
+
JoseSigningAlgorithm[JoseSigningAlgorithm["Es512"] = 2] = "Es512";
|
|
68
|
+
JoseSigningAlgorithm[JoseSigningAlgorithm["Es256k"] = 3] = "Es256k";
|
|
69
|
+
JoseSigningAlgorithm[JoseSigningAlgorithm["Eddsa"] = 4] = "Eddsa";
|
|
70
|
+
JoseSigningAlgorithm[JoseSigningAlgorithm["Hs256"] = 5] = "Hs256";
|
|
71
|
+
JoseSigningAlgorithm[JoseSigningAlgorithm["Hs384"] = 6] = "Hs384";
|
|
72
|
+
JoseSigningAlgorithm[JoseSigningAlgorithm["Hs512"] = 7] = "Hs512";
|
|
73
|
+
JoseSigningAlgorithm[JoseSigningAlgorithm["Rs256"] = 8] = "Rs256";
|
|
74
|
+
JoseSigningAlgorithm[JoseSigningAlgorithm["Rs384"] = 9] = "Rs384";
|
|
75
|
+
JoseSigningAlgorithm[JoseSigningAlgorithm["Rs512"] = 10] = "Rs512";
|
|
76
|
+
JoseSigningAlgorithm[JoseSigningAlgorithm["Ps256"] = 11] = "Ps256";
|
|
77
|
+
JoseSigningAlgorithm[JoseSigningAlgorithm["Ps384"] = 12] = "Ps384";
|
|
78
|
+
JoseSigningAlgorithm[JoseSigningAlgorithm["Ps512"] = 13] = "Ps512";
|
|
79
|
+
return JoseSigningAlgorithm;
|
|
80
|
+
}({}); // ---------------------------------------------------------------------------
|
|
81
|
+
// Key Generation
|
|
82
|
+
// ---------------------------------------------------------------------------
|
|
83
|
+
/**
|
|
84
|
+
* Generate a JWK key pair.
|
|
85
|
+
* Matches ffi-jose `generateJWK({ namedCurve })`.
|
|
86
|
+
*/
|
|
87
|
+
async function generateJwk(namedCurve) {
|
|
88
|
+
const result = await (0, _.vc_facade)('jose_generate_jwk', JSON.stringify({
|
|
89
|
+
namedCurve
|
|
90
|
+
}));
|
|
91
|
+
return JSON.parse(result);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Generate a full key pair (JWK, PEM, DER formats).
|
|
96
|
+
* Matches ffi-jose `generateKeyPair(type, { namedCurve })`.
|
|
97
|
+
*/
|
|
98
|
+
async function generateKeyPair(namedCurve) {
|
|
99
|
+
const result = await (0, _.vc_facade)('jose_generate_key_pair', JSON.stringify({
|
|
100
|
+
namedCurve
|
|
101
|
+
}));
|
|
102
|
+
return JSON.parse(result);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// ---------------------------------------------------------------------------
|
|
106
|
+
// Symmetric Encrypt/Decrypt
|
|
107
|
+
// ---------------------------------------------------------------------------
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Low-level symmetric encryption. Key and IV as hex strings, plaintext as base64.
|
|
111
|
+
*/
|
|
112
|
+
async function joseEncrypt(enc, key, iv, message, aad) {
|
|
113
|
+
const result = await (0, _.vc_facade)('jose_encrypt', JSON.stringify({
|
|
114
|
+
enc,
|
|
115
|
+
key,
|
|
116
|
+
iv,
|
|
117
|
+
message,
|
|
118
|
+
aad: aad ?? ''
|
|
119
|
+
}));
|
|
120
|
+
return JSON.parse(result);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Low-level symmetric decryption. Returns base64-encoded plaintext.
|
|
125
|
+
*/
|
|
126
|
+
async function joseDecrypt(enc, key, iv, ciphertext, aad, tag) {
|
|
127
|
+
return (0, _.vc_facade)('jose_decrypt', JSON.stringify({
|
|
128
|
+
enc,
|
|
129
|
+
key,
|
|
130
|
+
iv,
|
|
131
|
+
ciphertext,
|
|
132
|
+
aad: aad ?? '',
|
|
133
|
+
tag
|
|
134
|
+
}));
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// ---------------------------------------------------------------------------
|
|
138
|
+
// JWE — JSON Web Encryption
|
|
139
|
+
// ---------------------------------------------------------------------------
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Encrypt a JSON payload for one or more recipients using JWE General JSON serialization.
|
|
143
|
+
*/
|
|
144
|
+
async function generalEncryptJson(alg, enc, payload, recipients, didcomm) {
|
|
145
|
+
const result = await (0, _.vc_facade)('jose_general_encrypt_json', JSON.stringify({
|
|
146
|
+
alg,
|
|
147
|
+
enc,
|
|
148
|
+
payload,
|
|
149
|
+
recipients,
|
|
150
|
+
didcomm
|
|
151
|
+
}));
|
|
152
|
+
return JSON.parse(result);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Decrypt a JWE JSON object using a JWK private key.
|
|
157
|
+
*/
|
|
158
|
+
async function decryptJson(jwe, jwk) {
|
|
159
|
+
const result = await (0, _.vc_facade)('jose_decrypt_json', JSON.stringify({
|
|
160
|
+
jwe,
|
|
161
|
+
jwk
|
|
162
|
+
}));
|
|
163
|
+
return JSON.parse(result);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// ---------------------------------------------------------------------------
|
|
167
|
+
// JWS — JSON Web Signature
|
|
168
|
+
// ---------------------------------------------------------------------------
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Sign a JSON payload using JWS Compact serialization.
|
|
172
|
+
*/
|
|
173
|
+
async function compactSignJson(alg, payload, jwk, didcomm) {
|
|
174
|
+
return (0, _.vc_facade)('jose_compact_sign_json', JSON.stringify({
|
|
175
|
+
alg,
|
|
176
|
+
payload,
|
|
177
|
+
jwk,
|
|
178
|
+
didcomm
|
|
179
|
+
}));
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Verify a JWS Compact serialization and return the payload.
|
|
184
|
+
*/
|
|
185
|
+
async function compactJsonVerify(jws, jwk) {
|
|
186
|
+
const result = await (0, _.vc_facade)('jose_compact_verify_json', JSON.stringify({
|
|
187
|
+
jws,
|
|
188
|
+
jwk
|
|
189
|
+
}));
|
|
190
|
+
return JSON.parse(result);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Sign a JSON payload using JWS Flattened JSON serialization.
|
|
195
|
+
*/
|
|
196
|
+
async function flattenedSignJson(alg, payload, jwk, didcomm) {
|
|
197
|
+
const result = await (0, _.vc_facade)('jose_flattened_sign_json', JSON.stringify({
|
|
198
|
+
alg,
|
|
199
|
+
payload,
|
|
200
|
+
jwk,
|
|
201
|
+
didcomm
|
|
202
|
+
}));
|
|
203
|
+
return JSON.parse(result);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Verify a JWS Flattened or General JSON serialization and return the payload.
|
|
208
|
+
*/
|
|
209
|
+
async function jsonVerify(jws, jwk) {
|
|
210
|
+
const result = await (0, _.vc_facade)('jose_verify_json', JSON.stringify({
|
|
211
|
+
jws,
|
|
212
|
+
jwk
|
|
213
|
+
}));
|
|
214
|
+
return JSON.parse(result);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Sign a JSON payload using JWS General JSON serialization with multiple signers.
|
|
219
|
+
*/
|
|
220
|
+
async function generalSignJson(payload, jwks, didcomm) {
|
|
221
|
+
const result = await (0, _.vc_facade)('jose_general_sign_json', JSON.stringify({
|
|
222
|
+
payload,
|
|
223
|
+
jwks,
|
|
224
|
+
didcomm
|
|
225
|
+
}));
|
|
226
|
+
return JSON.parse(result);
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=jose.js.map
|