@bsv/sdk 1.2.19 → 1.2.21
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/dist/cjs/package.json +3 -3
- package/dist/cjs/src/auth/Peer.js +536 -0
- package/dist/cjs/src/auth/Peer.js.map +1 -0
- package/dist/cjs/src/auth/SessionManager.js +66 -0
- package/dist/cjs/src/auth/SessionManager.js.map +1 -0
- package/dist/cjs/src/auth/{Certificate.js → certificates/Certificate.js} +22 -26
- package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -0
- package/dist/cjs/src/auth/certificates/MasterCertificate.js +79 -0
- package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -0
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +49 -0
- package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -0
- package/dist/cjs/src/auth/certificates/index.js +25 -0
- package/dist/cjs/src/auth/certificates/index.js.map +1 -0
- package/dist/cjs/src/auth/clients/AuthFetch.js +411 -0
- package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -0
- package/dist/cjs/src/auth/clients/index.js +18 -0
- package/dist/cjs/src/auth/clients/index.js.map +1 -0
- package/dist/cjs/src/auth/index.js +20 -5
- package/dist/cjs/src/auth/index.js.map +1 -1
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +259 -0
- package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -0
- package/dist/cjs/src/auth/transports/index.js +18 -0
- package/dist/cjs/src/auth/transports/index.js.map +1 -0
- package/dist/cjs/src/auth/types.js +3 -0
- package/dist/cjs/src/auth/types.js.map +1 -0
- package/dist/cjs/src/auth/utils/certificateHelpers.js +51 -0
- package/dist/cjs/src/auth/utils/certificateHelpers.js.map +1 -0
- package/dist/cjs/src/auth/utils/createNonce.js +19 -0
- package/dist/cjs/src/auth/utils/createNonce.js.map +1 -0
- package/dist/cjs/src/auth/utils/getVerifiableCertificates.js +31 -0
- package/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -0
- package/dist/cjs/src/auth/utils/index.js +21 -0
- package/dist/cjs/src/auth/utils/index.js.map +1 -0
- package/dist/cjs/src/auth/utils/validateCertificates.js +42 -0
- package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -0
- package/dist/cjs/src/auth/utils/verifyNonce.js +27 -0
- package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -0
- package/dist/cjs/src/transaction/Transaction.js +1 -1
- package/dist/cjs/src/transaction/Transaction.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +148 -148
- package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/auth/Peer.js +533 -0
- package/dist/esm/src/auth/Peer.js.map +1 -0
- package/dist/esm/src/auth/SessionManager.js +63 -0
- package/dist/esm/src/auth/SessionManager.js.map +1 -0
- package/dist/esm/src/auth/{Certificate.js → certificates/Certificate.js} +1 -2
- package/dist/esm/src/auth/certificates/Certificate.js.map +1 -0
- package/dist/esm/src/auth/certificates/MasterCertificate.js +73 -0
- package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -0
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js +44 -0
- package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -0
- package/dist/esm/src/auth/certificates/index.js +4 -0
- package/dist/esm/src/auth/certificates/index.js.map +1 -0
- package/dist/esm/src/auth/clients/AuthFetch.js +409 -0
- package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -0
- package/dist/esm/src/auth/clients/index.js +2 -0
- package/dist/esm/src/auth/clients/index.js.map +1 -0
- package/dist/esm/src/auth/index.js +7 -1
- package/dist/esm/src/auth/index.js.map +1 -1
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +258 -0
- package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -0
- package/dist/esm/src/auth/transports/index.js +2 -0
- package/dist/esm/src/auth/transports/index.js.map +1 -0
- package/dist/esm/src/auth/types.js +2 -0
- package/dist/esm/src/auth/types.js.map +1 -0
- package/dist/esm/src/auth/utils/certificateHelpers.js +47 -0
- package/dist/esm/src/auth/utils/certificateHelpers.js.map +1 -0
- package/dist/esm/src/auth/utils/createNonce.js +16 -0
- package/dist/esm/src/auth/utils/createNonce.js.map +1 -0
- package/dist/esm/src/auth/utils/getVerifiableCertificates.js +27 -0
- package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -0
- package/dist/esm/src/auth/utils/index.js +5 -0
- package/dist/esm/src/auth/utils/index.js.map +1 -0
- package/dist/esm/src/auth/utils/validateCertificates.js +38 -0
- package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -0
- package/dist/esm/src/auth/utils/verifyNonce.js +24 -0
- package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -0
- package/dist/esm/src/transaction/Transaction.js +1 -1
- package/dist/esm/src/transaction/Transaction.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +1 -1
- package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/auth/Peer.d.ts +193 -0
- package/dist/types/src/auth/Peer.d.ts.map +1 -0
- package/dist/types/src/auth/SessionManager.d.ts +42 -0
- package/dist/types/src/auth/SessionManager.d.ts.map +1 -0
- package/dist/types/src/auth/{Certificate.d.ts → certificates/Certificate.d.ts} +1 -1
- package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -0
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts +38 -0
- package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -0
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts +26 -0
- package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -0
- package/dist/types/src/auth/certificates/index.d.ts +4 -0
- package/dist/types/src/auth/certificates/index.d.ts.map +1 -0
- package/dist/types/src/auth/clients/AuthFetch.d.ts +87 -0
- package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -0
- package/dist/types/src/auth/clients/index.d.ts +2 -0
- package/dist/types/src/auth/clients/index.d.ts.map +1 -0
- package/dist/types/src/auth/index.d.ts +7 -1
- package/dist/types/src/auth/index.d.ts.map +1 -1
- package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts +51 -0
- package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -0
- package/dist/types/src/auth/transports/index.d.ts +2 -0
- package/dist/types/src/auth/transports/index.d.ts.map +1 -0
- package/dist/types/src/auth/types.d.ts +31 -0
- package/dist/types/src/auth/types.d.ts.map +1 -0
- package/dist/types/src/auth/utils/certificateHelpers.d.ts +26 -0
- package/dist/types/src/auth/utils/certificateHelpers.d.ts.map +1 -0
- package/dist/types/src/auth/utils/createNonce.d.ts +8 -0
- package/dist/types/src/auth/utils/createNonce.d.ts.map +1 -0
- package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +13 -0
- package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -0
- package/dist/types/src/auth/utils/index.d.ts +5 -0
- package/dist/types/src/auth/utils/index.d.ts.map +1 -0
- package/dist/types/src/auth/utils/validateCertificates.d.ts +12 -0
- package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -0
- package/dist/types/src/auth/utils/verifyNonce.d.ts +9 -0
- package/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -0
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +1 -1
- package/docs/README.md +1 -0
- package/docs/auth.md +1119 -0
- package/package.json +13 -3
- package/src/auth/Peer.ts +600 -0
- package/src/auth/SessionManager.ts +71 -0
- package/src/auth/__tests/Peer.test.ts +599 -0
- package/src/auth/__tests/SessionManager.test.ts +87 -0
- package/src/auth/{Certificate.ts → certificates/Certificate.ts} +15 -8
- package/src/auth/certificates/MasterCertificate.ts +106 -0
- package/src/auth/certificates/VerifiableCertificate.ts +73 -0
- package/src/auth/certificates/__tests/Certificate.test.ts +282 -0
- package/src/auth/certificates/index.ts +3 -0
- package/src/auth/clients/AuthFetch.ts +482 -0
- package/src/auth/clients/index.ts +1 -0
- package/src/auth/index.ts +7 -1
- package/src/auth/transports/SimplifiedFetchTransport.ts +288 -0
- package/src/auth/transports/index.ts +1 -0
- package/src/auth/types.ts +41 -0
- package/src/auth/utils/__tests/cryptononce.test.ts +84 -0
- package/src/auth/utils/__tests/getVerifiableCertificates.test.ts +126 -0
- package/src/auth/utils/__tests/validateCertificates.test.ts +142 -0
- package/src/auth/utils/certificateHelpers.ts +86 -0
- package/src/auth/utils/createNonce.ts +16 -0
- package/src/auth/utils/getVerifiableCertificates.ts +40 -0
- package/src/auth/utils/index.ts +4 -0
- package/src/auth/utils/validateCertificates.ts +54 -0
- package/src/auth/utils/verifyNonce.ts +27 -0
- package/src/transaction/Transaction.ts +1 -1
- package/src/wallet/substrates/WalletWireProcessor.ts +1 -1
- package/src/wallet/substrates/WalletWireTransceiver.ts +1 -1
- package/dist/cjs/src/auth/Certificate.js.map +0 -1
- package/dist/esm/src/auth/Certificate.js.map +0 -1
- package/dist/types/src/auth/Certificate.d.ts.map +0 -1
- package/src/auth/__tests/Certificate.test.ts +0 -282
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
7
|
-
const ProtoWallet_js_1 = __importDefault(require("../wallet/ProtoWallet.js"));
|
|
3
|
+
const mod_js_1 = require("../../../mod.js");
|
|
8
4
|
/**
|
|
9
5
|
* Represents an Identity Certificate as per the Wallet interface specifications.
|
|
10
6
|
*
|
|
@@ -38,22 +34,22 @@ class Certificate {
|
|
|
38
34
|
* @returns {number[]} - The serialized certificate in binary format.
|
|
39
35
|
*/
|
|
40
36
|
toBin(includeSignature = true) {
|
|
41
|
-
const writer = new
|
|
37
|
+
const writer = new mod_js_1.Utils.Writer();
|
|
42
38
|
// Write type (Base64String, 32 bytes)
|
|
43
|
-
const typeBytes =
|
|
39
|
+
const typeBytes = mod_js_1.Utils.toArray(this.type, 'base64');
|
|
44
40
|
writer.write(typeBytes);
|
|
45
41
|
// Write serialNumber (Base64String, 32 bytes)
|
|
46
|
-
const serialNumberBytes =
|
|
42
|
+
const serialNumberBytes = mod_js_1.Utils.toArray(this.serialNumber, 'base64');
|
|
47
43
|
writer.write(serialNumberBytes);
|
|
48
44
|
// Write subject (33 bytes compressed PubKeyHex)
|
|
49
|
-
const subjectBytes =
|
|
45
|
+
const subjectBytes = mod_js_1.Utils.toArray(this.subject, 'hex');
|
|
50
46
|
writer.write(subjectBytes);
|
|
51
47
|
// Write certifier (33 bytes compressed PubKeyHex)
|
|
52
|
-
const certifierBytes =
|
|
48
|
+
const certifierBytes = mod_js_1.Utils.toArray(this.certifier, 'hex');
|
|
53
49
|
writer.write(certifierBytes);
|
|
54
50
|
// Write revocationOutpoint (TXID + OutputIndex)
|
|
55
51
|
const [txid, outputIndex] = this.revocationOutpoint.split('.');
|
|
56
|
-
const txidBytes =
|
|
52
|
+
const txidBytes = mod_js_1.Utils.toArray(txid, 'hex');
|
|
57
53
|
writer.write(txidBytes);
|
|
58
54
|
writer.writeVarIntNum(Number(outputIndex));
|
|
59
55
|
// Write fields
|
|
@@ -61,17 +57,17 @@ class Certificate {
|
|
|
61
57
|
writer.writeVarIntNum(fieldEntries.length);
|
|
62
58
|
for (const [fieldName, fieldValue] of fieldEntries) {
|
|
63
59
|
// Field name
|
|
64
|
-
const fieldNameBytes =
|
|
60
|
+
const fieldNameBytes = mod_js_1.Utils.toArray(fieldName, 'utf8');
|
|
65
61
|
writer.writeVarIntNum(fieldNameBytes.length);
|
|
66
62
|
writer.write(fieldNameBytes);
|
|
67
63
|
// Field value
|
|
68
|
-
const fieldValueBytes =
|
|
64
|
+
const fieldValueBytes = mod_js_1.Utils.toArray(fieldValue, 'utf8');
|
|
69
65
|
writer.writeVarIntNum(fieldValueBytes.length);
|
|
70
66
|
writer.write(fieldValueBytes);
|
|
71
67
|
}
|
|
72
68
|
// Write signature if included
|
|
73
69
|
if (includeSignature && this.signature && this.signature.length > 0) {
|
|
74
|
-
const signatureBytes =
|
|
70
|
+
const signatureBytes = mod_js_1.Utils.toArray(this.signature, 'hex');
|
|
75
71
|
writer.writeVarIntNum(signatureBytes.length);
|
|
76
72
|
writer.write(signatureBytes);
|
|
77
73
|
}
|
|
@@ -84,22 +80,22 @@ class Certificate {
|
|
|
84
80
|
* @returns {Certificate} - The deserialized Certificate object.
|
|
85
81
|
*/
|
|
86
82
|
static fromBin(bin) {
|
|
87
|
-
const reader = new
|
|
83
|
+
const reader = new mod_js_1.Utils.Reader(bin);
|
|
88
84
|
// Read type
|
|
89
85
|
const typeBytes = reader.read(32);
|
|
90
|
-
const type =
|
|
86
|
+
const type = mod_js_1.Utils.toBase64(typeBytes);
|
|
91
87
|
// Read serialNumber
|
|
92
88
|
const serialNumberBytes = reader.read(32);
|
|
93
|
-
const serialNumber =
|
|
89
|
+
const serialNumber = mod_js_1.Utils.toBase64(serialNumberBytes);
|
|
94
90
|
// Read subject (33 bytes)
|
|
95
91
|
const subjectBytes = reader.read(33);
|
|
96
|
-
const subject =
|
|
92
|
+
const subject = mod_js_1.Utils.toHex(subjectBytes);
|
|
97
93
|
// Read certifier (33 bytes)
|
|
98
94
|
const certifierBytes = reader.read(33);
|
|
99
|
-
const certifier =
|
|
95
|
+
const certifier = mod_js_1.Utils.toHex(certifierBytes);
|
|
100
96
|
// Read revocationOutpoint
|
|
101
97
|
const txidBytes = reader.read(32);
|
|
102
|
-
const txid =
|
|
98
|
+
const txid = mod_js_1.Utils.toHex(txidBytes);
|
|
103
99
|
const outputIndex = reader.readVarIntNum();
|
|
104
100
|
const revocationOutpoint = `${txid}.${outputIndex}`;
|
|
105
101
|
// Read fields
|
|
@@ -109,11 +105,11 @@ class Certificate {
|
|
|
109
105
|
// Field name
|
|
110
106
|
const fieldNameLength = reader.readVarIntNum();
|
|
111
107
|
const fieldNameBytes = reader.read(fieldNameLength);
|
|
112
|
-
const fieldName =
|
|
108
|
+
const fieldName = mod_js_1.Utils.toUTF8(fieldNameBytes);
|
|
113
109
|
// Field value
|
|
114
110
|
const fieldValueLength = reader.readVarIntNum();
|
|
115
111
|
const fieldValueBytes = reader.read(fieldValueLength);
|
|
116
|
-
const fieldValue =
|
|
112
|
+
const fieldValue = mod_js_1.Utils.toUTF8(fieldValueBytes);
|
|
117
113
|
fields[fieldName] = fieldValue;
|
|
118
114
|
}
|
|
119
115
|
// Read signature if present
|
|
@@ -121,7 +117,7 @@ class Certificate {
|
|
|
121
117
|
if (!reader.eof()) {
|
|
122
118
|
const signatureLength = reader.readVarIntNum();
|
|
123
119
|
const signatureBytes = reader.read(signatureLength);
|
|
124
|
-
signature =
|
|
120
|
+
signature = mod_js_1.Utils.toHex(signatureBytes);
|
|
125
121
|
}
|
|
126
122
|
return new Certificate(type, serialNumber, subject, certifier, revocationOutpoint, fields, signature);
|
|
127
123
|
}
|
|
@@ -132,10 +128,10 @@ class Certificate {
|
|
|
132
128
|
*/
|
|
133
129
|
async verify() {
|
|
134
130
|
// A verifier can be any wallet capable of verifying signatures
|
|
135
|
-
const verifier = new
|
|
131
|
+
const verifier = new mod_js_1.ProtoWallet('anyone');
|
|
136
132
|
const verificationData = this.toBin(false); // Exclude the signature from the verification data
|
|
137
133
|
const { valid } = await verifier.verifySignature({
|
|
138
|
-
signature:
|
|
134
|
+
signature: mod_js_1.Utils.toArray(this.signature, 'hex'),
|
|
139
135
|
data: verificationData,
|
|
140
136
|
protocolID: [2, 'certificate signature'],
|
|
141
137
|
keyID: `${this.type} ${this.serialNumber}`,
|
|
@@ -156,7 +152,7 @@ class Certificate {
|
|
|
156
152
|
protocolID: [2, 'certificate signature'],
|
|
157
153
|
keyID: `${this.type} ${this.serialNumber}`
|
|
158
154
|
});
|
|
159
|
-
this.signature =
|
|
155
|
+
this.signature = mod_js_1.Utils.toHex(signature);
|
|
160
156
|
}
|
|
161
157
|
}
|
|
162
158
|
exports.default = Certificate;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Certificate.js","sourceRoot":"","sources":["../../../../../src/auth/certificates/Certificate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MasterCertificate = void 0;
|
|
7
|
+
const mod_js_1 = require("../../../mod.js");
|
|
8
|
+
const Certificate_js_1 = __importDefault(require("./Certificate.js"));
|
|
9
|
+
/**
|
|
10
|
+
* MasterCertificate extends the base Certificate class to manage a master keyring, enabling the creation of verifiable certificates.
|
|
11
|
+
*
|
|
12
|
+
* It allows for the selective disclosure of certificate fields by creating a `VerifiableCertificate` for a specific verifier.
|
|
13
|
+
* The `MasterCertificate` can securely decrypt each master key and re-encrypt it for a verifier, creating a customized
|
|
14
|
+
* keyring containing only the keys necessary for the verifier to access designated fields.
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
class MasterCertificate extends Certificate_js_1.default {
|
|
18
|
+
constructor(type, serialNumber, subject, certifier, revocationOutpoint, fields, masterKeyring, signature) {
|
|
19
|
+
super(type, serialNumber, subject, certifier, revocationOutpoint, fields, signature);
|
|
20
|
+
this.masterKeyring = masterKeyring;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Creates a verifiable certificate structure for a specific verifier, allowing them access to specified fields.
|
|
24
|
+
* This method decrypts the master field keys for each field specified in `fieldsToReveal` and re-encrypts them
|
|
25
|
+
* for the verifier's identity key. The resulting certificate structure includes only the fields intended to be
|
|
26
|
+
* revealed and a verifier-specific keyring for field decryption.
|
|
27
|
+
*
|
|
28
|
+
* @param {Wallet} subjectWallet - The wallet instance of the subject, used to decrypt and re-encrypt field keys.
|
|
29
|
+
* @param {string} verifierIdentityKey - The public identity key of the verifier who will receive access to the specified fields.
|
|
30
|
+
* @param {string[]} fieldsToReveal - An array of field names to be revealed to the verifier. Must be a subset of the certificate's fields.
|
|
31
|
+
* @param {string} [originator] - Optional originator identifier, used if additional context is needed for decryption and encryption operations.
|
|
32
|
+
* @returns {Promise<Object>} - A new certificate structure containing the original encrypted fields, the verifier-specific field decryption keyring, and essential certificate metadata.
|
|
33
|
+
* @throws {Error} Throws an error if:
|
|
34
|
+
* - fieldsToReveal is empty or a field in `fieldsToReveal` does not exist in the certificate.
|
|
35
|
+
* - The decrypted master field key fails to decrypt the corresponding field (indicating an invalid key).
|
|
36
|
+
*/
|
|
37
|
+
async createKeyringForVerifier(subjectWallet, verifierIdentityKey, fieldsToReveal, originator) {
|
|
38
|
+
if (!Array.isArray(fieldsToReveal)) {
|
|
39
|
+
throw new Error('fieldsToReveal must be an array of strings');
|
|
40
|
+
}
|
|
41
|
+
const fieldRevelationKeyring = {};
|
|
42
|
+
for (const fieldName of fieldsToReveal) {
|
|
43
|
+
// Make sure that fields to reveal is a subset of the certificate fields
|
|
44
|
+
if (!this.fields[fieldName]) {
|
|
45
|
+
throw new Error(`Fields to reveal must be a subset of the certificate fields. Missing the "${fieldName}" field.`);
|
|
46
|
+
}
|
|
47
|
+
// Create a keyID
|
|
48
|
+
const keyID = `${this.serialNumber} ${fieldName}`;
|
|
49
|
+
const encryptedMasterFieldKey = this.masterKeyring[fieldName];
|
|
50
|
+
// Decrypt the master field key
|
|
51
|
+
const { plaintext: masterFieldKey } = await subjectWallet.decrypt({
|
|
52
|
+
ciphertext: mod_js_1.Utils.toArray(encryptedMasterFieldKey, 'base64'),
|
|
53
|
+
protocolID: [2, 'certificate field encryption'],
|
|
54
|
+
keyID,
|
|
55
|
+
counterparty: 'self'
|
|
56
|
+
}, originator);
|
|
57
|
+
// Verify that derived key actually decrypts requested field
|
|
58
|
+
try {
|
|
59
|
+
new mod_js_1.SymmetricKey(masterFieldKey).decrypt(mod_js_1.Utils.toArray(this.fields[fieldName], 'base64'));
|
|
60
|
+
}
|
|
61
|
+
catch (_) {
|
|
62
|
+
throw new Error(`Decryption of the "${fieldName}" field with its revelation key failed.`);
|
|
63
|
+
}
|
|
64
|
+
// Encrypt derived fieldRevelationKey for verifier
|
|
65
|
+
const { ciphertext: encryptedFieldRevelationKey } = await subjectWallet.encrypt({
|
|
66
|
+
plaintext: masterFieldKey,
|
|
67
|
+
protocolID: [2, 'certificate field encryption'],
|
|
68
|
+
keyID: `${this.serialNumber} ${fieldName}`,
|
|
69
|
+
counterparty: verifierIdentityKey
|
|
70
|
+
}, originator);
|
|
71
|
+
// Add encryptedFieldRevelationKey to fieldRevelationKeyring
|
|
72
|
+
fieldRevelationKeyring[fieldName] = mod_js_1.Utils.toBase64(encryptedFieldRevelationKey);
|
|
73
|
+
}
|
|
74
|
+
// Return the field revelation keyring which can be used to create a verifiable certificate for a verifier.
|
|
75
|
+
return fieldRevelationKeyring;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.MasterCertificate = MasterCertificate;
|
|
79
|
+
//# sourceMappingURL=MasterCertificate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MasterCertificate.js","sourceRoot":"","sources":["../../../../../src/auth/certificates/MasterCertificate.ts"],"names":[],"mappings":";;;;;;AAAA,4CASwB;AACxB,sEAA0C;AAE1C;;;;;;;GAOG;AACH,MAAa,iBAAkB,SAAQ,wBAAW;IAWhD,YACE,IAAkB,EAClB,YAA0B,EAC1B,OAAkB,EAClB,SAAoB,EACpB,kBAAkC,EAClC,MAAwD,EACxD,aAA+D,EAC/D,SAAqB;QAErB,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QACpF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,wBAAwB,CAAC,aAAqB,EAAE,mBAA2B,EAAE,cAAwB,EAAE,UAAmB;QAC9H,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;QAC/D,CAAC;QACD,MAAM,sBAAsB,GAAG,EAAE,CAAA;QACjC,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;YACvC,wEAAwE;YACxE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,6EAA6E,SAAS,UAAU,CAAC,CAAA;YACnH,CAAC;YAED,iBAAiB;YACjB,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE,CAAA;YACjD,MAAM,uBAAuB,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;YAE7D,+BAA+B;YAC/B,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC;gBAChE,UAAU,EAAE,cAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,QAAQ,CAAC;gBAC5D,UAAU,EAAE,CAAC,CAAC,EAAE,8BAA8B,CAAC;gBAC/C,KAAK;gBACL,YAAY,EAAE,MAAM;aACrB,EAAE,UAAU,CAAC,CAAA;YAEd,4DAA4D;YAC5D,IAAI,CAAC;gBACH,IAAI,qBAAY,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,cAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;YAC3F,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,yCAAyC,CAAC,CAAA;YAC3F,CAAC;YAED,kDAAkD;YAClD,MAAM,EAAE,UAAU,EAAE,2BAA2B,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC;gBAC9E,SAAS,EAAE,cAAc;gBACzB,UAAU,EAAE,CAAC,CAAC,EAAE,8BAA8B,CAAC;gBAC/C,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;gBAC1C,YAAY,EAAE,mBAAmB;aAClC,EAAE,UAAU,CAAC,CAAA;YAEd,4DAA4D;YAC5D,sBAAsB,CAAC,SAAS,CAAC,GAAG,cAAK,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAA;QACjF,CAAC;QAED,2GAA2G;QAC3G,OAAO,sBAAsB,CAAA;IAC/B,CAAC;CACF;AArFD,8CAqFC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.VerifiableCertificate = void 0;
|
|
7
|
+
const mod_js_1 = require("../../../mod.js");
|
|
8
|
+
const Certificate_js_1 = __importDefault(require("./Certificate.js"));
|
|
9
|
+
/**
|
|
10
|
+
* VerifiableCertificate extends the Certificate class, adding functionality to manage a verifier-specific keyring.
|
|
11
|
+
* This keyring allows selective decryption of certificate fields for authorized verifiers.
|
|
12
|
+
*/
|
|
13
|
+
class VerifiableCertificate extends Certificate_js_1.default {
|
|
14
|
+
constructor(type, serialNumber, subject, certifier, revocationOutpoint, fields, signature, keyring, decryptedFields) {
|
|
15
|
+
super(type, serialNumber, subject, certifier, revocationOutpoint, fields, signature);
|
|
16
|
+
this.keyring = keyring;
|
|
17
|
+
this.decryptedFields = decryptedFields;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Decrypts certificate fields using the provided keyring and verifier wallet
|
|
21
|
+
* @param {Wallet} verifierWallet - The wallet instance of the certificate's verifier, used to decrypt field keys.
|
|
22
|
+
* @returns {Promise<Record<CertificateFieldNameUnder50Bytes, string>>} - A promise that resolves to an object where each key is a field name and each value is the decrypted field value as a string.
|
|
23
|
+
* @throws {Error} Throws an error if any of the decryption operations fail, with a message indicating the failure context.
|
|
24
|
+
*/
|
|
25
|
+
async decryptFields(verifierWallet) {
|
|
26
|
+
if (!this.keyring || Object.keys(this.keyring).length === 0) {
|
|
27
|
+
throw new Error('A keyring is required to decrypt certificate fields for the verifier.');
|
|
28
|
+
}
|
|
29
|
+
try {
|
|
30
|
+
const decryptedFields = {};
|
|
31
|
+
for (const fieldName in this.keyring) {
|
|
32
|
+
const { plaintext: fieldRevelationKey } = await verifierWallet.decrypt({
|
|
33
|
+
ciphertext: mod_js_1.Utils.toArray(this.keyring[fieldName], 'base64'),
|
|
34
|
+
protocolID: [2, 'certificate field encryption'],
|
|
35
|
+
keyID: `${this.serialNumber} ${fieldName}`,
|
|
36
|
+
counterparty: this.subject
|
|
37
|
+
});
|
|
38
|
+
const fieldValue = new mod_js_1.SymmetricKey(fieldRevelationKey).decrypt(mod_js_1.Utils.toArray(this.fields[fieldName], 'base64'));
|
|
39
|
+
decryptedFields[fieldName] = mod_js_1.Utils.toUTF8(fieldValue);
|
|
40
|
+
}
|
|
41
|
+
return decryptedFields;
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
throw new Error(`Failed to decrypt certificate fields using keyring: ${error instanceof Error ? error.message : error}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.VerifiableCertificate = VerifiableCertificate;
|
|
49
|
+
//# sourceMappingURL=VerifiableCertificate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VerifiableCertificate.js","sourceRoot":"","sources":["../../../../../src/auth/certificates/VerifiableCertificate.ts"],"names":[],"mappings":";;;;;;AAAA,4CASwB;AACxB,sEAA0C;AAE1C;;;GAGG;AACH,MAAa,qBAAsB,SAAQ,wBAAW;IAYpD,YACE,IAAkB,EAClB,YAA0B,EAC1B,OAAkB,EAClB,SAAoB,EACpB,kBAAkC,EAClC,MAAwD,EACxD,SAAqB,EACrB,OAA0D,EAC1D,eAAwE;QAExE,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QACpF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACxC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,cAAsB;QACxC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;QAC1F,CAAC;QACD,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,EAAE,CAAA;YAC1B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC;oBACrE,UAAU,EAAE,cAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC;oBAC5D,UAAU,EAAE,CAAC,CAAC,EAAE,8BAA8B,CAAC;oBAC/C,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;oBAC1C,YAAY,EAAE,IAAI,CAAC,OAAO;iBAC3B,CAAC,CAAA;gBAEF,MAAM,UAAU,GAAG,IAAI,qBAAY,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,cAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;gBAChH,eAAe,CAAC,SAAS,CAAC,GAAG,cAAK,CAAC,MAAM,CAAC,UAAsB,CAAC,CAAA;YACnE,CAAC;YACD,OAAO,eAAe,CAAA;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uDAAuD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;QAC1H,CAAC;IACH,CAAC;CACF;AAxDD,sDAwDC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.Certificate = void 0;
|
|
21
|
+
var Certificate_js_1 = require("./Certificate.js");
|
|
22
|
+
Object.defineProperty(exports, "Certificate", { enumerable: true, get: function () { return __importDefault(Certificate_js_1).default; } });
|
|
23
|
+
__exportStar(require("./MasterCertificate.js"), exports);
|
|
24
|
+
__exportStar(require("./VerifiableCertificate.js"), exports);
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/auth/certificates/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,mDAAyD;AAAhD,8HAAA,OAAO,OAAe;AAC/B,yDAAsC;AACtC,6DAA0C"}
|