@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.
Files changed (159) hide show
  1. package/dist/cjs/package.json +3 -3
  2. package/dist/cjs/src/auth/Peer.js +536 -0
  3. package/dist/cjs/src/auth/Peer.js.map +1 -0
  4. package/dist/cjs/src/auth/SessionManager.js +66 -0
  5. package/dist/cjs/src/auth/SessionManager.js.map +1 -0
  6. package/dist/cjs/src/auth/{Certificate.js → certificates/Certificate.js} +22 -26
  7. package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -0
  8. package/dist/cjs/src/auth/certificates/MasterCertificate.js +79 -0
  9. package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -0
  10. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +49 -0
  11. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -0
  12. package/dist/cjs/src/auth/certificates/index.js +25 -0
  13. package/dist/cjs/src/auth/certificates/index.js.map +1 -0
  14. package/dist/cjs/src/auth/clients/AuthFetch.js +411 -0
  15. package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -0
  16. package/dist/cjs/src/auth/clients/index.js +18 -0
  17. package/dist/cjs/src/auth/clients/index.js.map +1 -0
  18. package/dist/cjs/src/auth/index.js +20 -5
  19. package/dist/cjs/src/auth/index.js.map +1 -1
  20. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +259 -0
  21. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -0
  22. package/dist/cjs/src/auth/transports/index.js +18 -0
  23. package/dist/cjs/src/auth/transports/index.js.map +1 -0
  24. package/dist/cjs/src/auth/types.js +3 -0
  25. package/dist/cjs/src/auth/types.js.map +1 -0
  26. package/dist/cjs/src/auth/utils/certificateHelpers.js +51 -0
  27. package/dist/cjs/src/auth/utils/certificateHelpers.js.map +1 -0
  28. package/dist/cjs/src/auth/utils/createNonce.js +19 -0
  29. package/dist/cjs/src/auth/utils/createNonce.js.map +1 -0
  30. package/dist/cjs/src/auth/utils/getVerifiableCertificates.js +31 -0
  31. package/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -0
  32. package/dist/cjs/src/auth/utils/index.js +21 -0
  33. package/dist/cjs/src/auth/utils/index.js.map +1 -0
  34. package/dist/cjs/src/auth/utils/validateCertificates.js +42 -0
  35. package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -0
  36. package/dist/cjs/src/auth/utils/verifyNonce.js +27 -0
  37. package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -0
  38. package/dist/cjs/src/transaction/Transaction.js +1 -1
  39. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  40. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +1 -1
  41. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  42. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +148 -148
  43. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  44. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  45. package/dist/esm/src/auth/Peer.js +533 -0
  46. package/dist/esm/src/auth/Peer.js.map +1 -0
  47. package/dist/esm/src/auth/SessionManager.js +63 -0
  48. package/dist/esm/src/auth/SessionManager.js.map +1 -0
  49. package/dist/esm/src/auth/{Certificate.js → certificates/Certificate.js} +1 -2
  50. package/dist/esm/src/auth/certificates/Certificate.js.map +1 -0
  51. package/dist/esm/src/auth/certificates/MasterCertificate.js +73 -0
  52. package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -0
  53. package/dist/esm/src/auth/certificates/VerifiableCertificate.js +44 -0
  54. package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -0
  55. package/dist/esm/src/auth/certificates/index.js +4 -0
  56. package/dist/esm/src/auth/certificates/index.js.map +1 -0
  57. package/dist/esm/src/auth/clients/AuthFetch.js +409 -0
  58. package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -0
  59. package/dist/esm/src/auth/clients/index.js +2 -0
  60. package/dist/esm/src/auth/clients/index.js.map +1 -0
  61. package/dist/esm/src/auth/index.js +7 -1
  62. package/dist/esm/src/auth/index.js.map +1 -1
  63. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +258 -0
  64. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -0
  65. package/dist/esm/src/auth/transports/index.js +2 -0
  66. package/dist/esm/src/auth/transports/index.js.map +1 -0
  67. package/dist/esm/src/auth/types.js +2 -0
  68. package/dist/esm/src/auth/types.js.map +1 -0
  69. package/dist/esm/src/auth/utils/certificateHelpers.js +47 -0
  70. package/dist/esm/src/auth/utils/certificateHelpers.js.map +1 -0
  71. package/dist/esm/src/auth/utils/createNonce.js +16 -0
  72. package/dist/esm/src/auth/utils/createNonce.js.map +1 -0
  73. package/dist/esm/src/auth/utils/getVerifiableCertificates.js +27 -0
  74. package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -0
  75. package/dist/esm/src/auth/utils/index.js +5 -0
  76. package/dist/esm/src/auth/utils/index.js.map +1 -0
  77. package/dist/esm/src/auth/utils/validateCertificates.js +38 -0
  78. package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -0
  79. package/dist/esm/src/auth/utils/verifyNonce.js +24 -0
  80. package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -0
  81. package/dist/esm/src/transaction/Transaction.js +1 -1
  82. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  83. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1 -1
  84. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  85. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +1 -1
  86. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  87. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  88. package/dist/types/src/auth/Peer.d.ts +193 -0
  89. package/dist/types/src/auth/Peer.d.ts.map +1 -0
  90. package/dist/types/src/auth/SessionManager.d.ts +42 -0
  91. package/dist/types/src/auth/SessionManager.d.ts.map +1 -0
  92. package/dist/types/src/auth/{Certificate.d.ts → certificates/Certificate.d.ts} +1 -1
  93. package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -0
  94. package/dist/types/src/auth/certificates/MasterCertificate.d.ts +38 -0
  95. package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -0
  96. package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts +26 -0
  97. package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -0
  98. package/dist/types/src/auth/certificates/index.d.ts +4 -0
  99. package/dist/types/src/auth/certificates/index.d.ts.map +1 -0
  100. package/dist/types/src/auth/clients/AuthFetch.d.ts +87 -0
  101. package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -0
  102. package/dist/types/src/auth/clients/index.d.ts +2 -0
  103. package/dist/types/src/auth/clients/index.d.ts.map +1 -0
  104. package/dist/types/src/auth/index.d.ts +7 -1
  105. package/dist/types/src/auth/index.d.ts.map +1 -1
  106. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts +51 -0
  107. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -0
  108. package/dist/types/src/auth/transports/index.d.ts +2 -0
  109. package/dist/types/src/auth/transports/index.d.ts.map +1 -0
  110. package/dist/types/src/auth/types.d.ts +31 -0
  111. package/dist/types/src/auth/types.d.ts.map +1 -0
  112. package/dist/types/src/auth/utils/certificateHelpers.d.ts +26 -0
  113. package/dist/types/src/auth/utils/certificateHelpers.d.ts.map +1 -0
  114. package/dist/types/src/auth/utils/createNonce.d.ts +8 -0
  115. package/dist/types/src/auth/utils/createNonce.d.ts.map +1 -0
  116. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +13 -0
  117. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -0
  118. package/dist/types/src/auth/utils/index.d.ts +5 -0
  119. package/dist/types/src/auth/utils/index.d.ts.map +1 -0
  120. package/dist/types/src/auth/utils/validateCertificates.d.ts +12 -0
  121. package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -0
  122. package/dist/types/src/auth/utils/verifyNonce.d.ts +9 -0
  123. package/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -0
  124. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  125. package/dist/umd/bundle.js +1 -1
  126. package/docs/README.md +1 -0
  127. package/docs/auth.md +1119 -0
  128. package/package.json +13 -3
  129. package/src/auth/Peer.ts +600 -0
  130. package/src/auth/SessionManager.ts +71 -0
  131. package/src/auth/__tests/Peer.test.ts +599 -0
  132. package/src/auth/__tests/SessionManager.test.ts +87 -0
  133. package/src/auth/{Certificate.ts → certificates/Certificate.ts} +15 -8
  134. package/src/auth/certificates/MasterCertificate.ts +106 -0
  135. package/src/auth/certificates/VerifiableCertificate.ts +73 -0
  136. package/src/auth/certificates/__tests/Certificate.test.ts +282 -0
  137. package/src/auth/certificates/index.ts +3 -0
  138. package/src/auth/clients/AuthFetch.ts +482 -0
  139. package/src/auth/clients/index.ts +1 -0
  140. package/src/auth/index.ts +7 -1
  141. package/src/auth/transports/SimplifiedFetchTransport.ts +288 -0
  142. package/src/auth/transports/index.ts +1 -0
  143. package/src/auth/types.ts +41 -0
  144. package/src/auth/utils/__tests/cryptononce.test.ts +84 -0
  145. package/src/auth/utils/__tests/getVerifiableCertificates.test.ts +126 -0
  146. package/src/auth/utils/__tests/validateCertificates.test.ts +142 -0
  147. package/src/auth/utils/certificateHelpers.ts +86 -0
  148. package/src/auth/utils/createNonce.ts +16 -0
  149. package/src/auth/utils/getVerifiableCertificates.ts +40 -0
  150. package/src/auth/utils/index.ts +4 -0
  151. package/src/auth/utils/validateCertificates.ts +54 -0
  152. package/src/auth/utils/verifyNonce.ts +27 -0
  153. package/src/transaction/Transaction.ts +1 -1
  154. package/src/wallet/substrates/WalletWireProcessor.ts +1 -1
  155. package/src/wallet/substrates/WalletWireTransceiver.ts +1 -1
  156. package/dist/cjs/src/auth/Certificate.js.map +0 -1
  157. package/dist/esm/src/auth/Certificate.js.map +0 -1
  158. package/dist/types/src/auth/Certificate.d.ts.map +0 -1
  159. 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 index_js_1 = require("../primitives/index.js");
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 index_js_1.Utils.Writer();
37
+ const writer = new mod_js_1.Utils.Writer();
42
38
  // Write type (Base64String, 32 bytes)
43
- const typeBytes = index_js_1.Utils.toArray(this.type, 'base64');
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 = index_js_1.Utils.toArray(this.serialNumber, 'base64');
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 = index_js_1.Utils.toArray(this.subject, 'hex');
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 = index_js_1.Utils.toArray(this.certifier, 'hex');
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 = index_js_1.Utils.toArray(txid, 'hex');
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 = index_js_1.Utils.toArray(fieldName, 'utf8');
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 = index_js_1.Utils.toArray(fieldValue, 'utf8');
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 = index_js_1.Utils.toArray(this.signature, 'hex');
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 index_js_1.Utils.Reader(bin);
83
+ const reader = new mod_js_1.Utils.Reader(bin);
88
84
  // Read type
89
85
  const typeBytes = reader.read(32);
90
- const type = index_js_1.Utils.toBase64(typeBytes);
86
+ const type = mod_js_1.Utils.toBase64(typeBytes);
91
87
  // Read serialNumber
92
88
  const serialNumberBytes = reader.read(32);
93
- const serialNumber = index_js_1.Utils.toBase64(serialNumberBytes);
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 = index_js_1.Utils.toHex(subjectBytes);
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 = index_js_1.Utils.toHex(certifierBytes);
95
+ const certifier = mod_js_1.Utils.toHex(certifierBytes);
100
96
  // Read revocationOutpoint
101
97
  const txidBytes = reader.read(32);
102
- const txid = index_js_1.Utils.toHex(txidBytes);
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 = index_js_1.Utils.toUTF8(fieldNameBytes);
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 = index_js_1.Utils.toUTF8(fieldValueBytes);
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 = index_js_1.Utils.toHex(signatureBytes);
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 ProtoWallet_js_1.default('anyone');
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: index_js_1.Utils.toArray(this.signature, 'hex'),
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 = index_js_1.Utils.toHex(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"}