@signalapp/libsignal-client 0.15.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.
Files changed (101) hide show
  1. package/Native.d.ts +326 -0
  2. package/Native.js +6 -0
  3. package/dist/Address.d.ts +9 -0
  4. package/dist/Address.js +27 -0
  5. package/dist/Errors.d.ts +48 -0
  6. package/dist/Errors.js +54 -0
  7. package/dist/index.d.ts +353 -0
  8. package/dist/index.js +948 -0
  9. package/dist/zkgroup/NotarySignature.d.ts +6 -0
  10. package/dist/zkgroup/NotarySignature.js +15 -0
  11. package/dist/zkgroup/ServerPublicParams.d.ts +7 -0
  12. package/dist/zkgroup/ServerPublicParams.js +18 -0
  13. package/dist/zkgroup/ServerSecretParams.d.ts +12 -0
  14. package/dist/zkgroup/ServerSecretParams.js +36 -0
  15. package/dist/zkgroup/auth/AuthCredential.d.ts +5 -0
  16. package/dist/zkgroup/auth/AuthCredential.js +15 -0
  17. package/dist/zkgroup/auth/AuthCredentialPresentation.d.ts +8 -0
  18. package/dist/zkgroup/auth/AuthCredentialPresentation.js +22 -0
  19. package/dist/zkgroup/auth/AuthCredentialResponse.d.ts +5 -0
  20. package/dist/zkgroup/auth/AuthCredentialResponse.js +15 -0
  21. package/dist/zkgroup/auth/ClientZkAuthOperations.d.ts +14 -0
  22. package/dist/zkgroup/auth/ClientZkAuthOperations.js +29 -0
  23. package/dist/zkgroup/auth/ServerZkAuthOperations.d.ts +13 -0
  24. package/dist/zkgroup/auth/ServerZkAuthOperations.js +28 -0
  25. package/dist/zkgroup/groups/ClientZkGroupCipher.d.ts +17 -0
  26. package/dist/zkgroup/groups/ClientZkGroupCipher.js +42 -0
  27. package/dist/zkgroup/groups/GroupIdentifier.d.ts +6 -0
  28. package/dist/zkgroup/groups/GroupIdentifier.js +15 -0
  29. package/dist/zkgroup/groups/GroupMasterKey.d.ts +6 -0
  30. package/dist/zkgroup/groups/GroupMasterKey.js +15 -0
  31. package/dist/zkgroup/groups/GroupPublicParams.d.ts +7 -0
  32. package/dist/zkgroup/groups/GroupPublicParams.js +19 -0
  33. package/dist/zkgroup/groups/GroupSecretParams.d.ts +12 -0
  34. package/dist/zkgroup/groups/GroupSecretParams.js +35 -0
  35. package/dist/zkgroup/groups/ProfileKeyCiphertext.d.ts +5 -0
  36. package/dist/zkgroup/groups/ProfileKeyCiphertext.js +15 -0
  37. package/dist/zkgroup/groups/UuidCiphertext.d.ts +5 -0
  38. package/dist/zkgroup/groups/UuidCiphertext.js +15 -0
  39. package/dist/zkgroup/index.d.ts +37 -0
  40. package/dist/zkgroup/index.js +87 -0
  41. package/dist/zkgroup/internal/BigIntUtil.d.ts +2 -0
  42. package/dist/zkgroup/internal/BigIntUtil.js +18 -0
  43. package/dist/zkgroup/internal/ByteArray.d.ts +8 -0
  44. package/dist/zkgroup/internal/ByteArray.js +28 -0
  45. package/dist/zkgroup/internal/Constants.d.ts +4 -0
  46. package/dist/zkgroup/internal/Constants.js +12 -0
  47. package/dist/zkgroup/internal/UUIDUtil.d.ts +4 -0
  48. package/dist/zkgroup/internal/UUIDUtil.js +23 -0
  49. package/dist/zkgroup/profiles/ClientZkProfileOperations.d.ts +27 -0
  50. package/dist/zkgroup/profiles/ClientZkProfileOperations.js +57 -0
  51. package/dist/zkgroup/profiles/PniCredential.d.ts +5 -0
  52. package/dist/zkgroup/profiles/PniCredential.js +15 -0
  53. package/dist/zkgroup/profiles/PniCredentialPresentation.d.ts +10 -0
  54. package/dist/zkgroup/profiles/PniCredentialPresentation.js +26 -0
  55. package/dist/zkgroup/profiles/PniCredentialRequestContext.d.ts +7 -0
  56. package/dist/zkgroup/profiles/PniCredentialRequestContext.js +19 -0
  57. package/dist/zkgroup/profiles/PniCredentialResponse.d.ts +5 -0
  58. package/dist/zkgroup/profiles/PniCredentialResponse.js +15 -0
  59. package/dist/zkgroup/profiles/ProfileKey.d.ts +11 -0
  60. package/dist/zkgroup/profiles/ProfileKey.js +25 -0
  61. package/dist/zkgroup/profiles/ProfileKeyCommitment.d.ts +5 -0
  62. package/dist/zkgroup/profiles/ProfileKeyCommitment.js +15 -0
  63. package/dist/zkgroup/profiles/ProfileKeyCredential.d.ts +5 -0
  64. package/dist/zkgroup/profiles/ProfileKeyCredential.js +15 -0
  65. package/dist/zkgroup/profiles/ProfileKeyCredentialPresentation.d.ts +9 -0
  66. package/dist/zkgroup/profiles/ProfileKeyCredentialPresentation.js +23 -0
  67. package/dist/zkgroup/profiles/ProfileKeyCredentialRequest.d.ts +5 -0
  68. package/dist/zkgroup/profiles/ProfileKeyCredentialRequest.js +15 -0
  69. package/dist/zkgroup/profiles/ProfileKeyCredentialRequestContext.d.ts +7 -0
  70. package/dist/zkgroup/profiles/ProfileKeyCredentialRequestContext.js +19 -0
  71. package/dist/zkgroup/profiles/ProfileKeyCredentialResponse.d.ts +5 -0
  72. package/dist/zkgroup/profiles/ProfileKeyCredentialResponse.js +15 -0
  73. package/dist/zkgroup/profiles/ProfileKeyVersion.d.ts +7 -0
  74. package/dist/zkgroup/profiles/ProfileKeyVersion.js +18 -0
  75. package/dist/zkgroup/profiles/ServerZkProfileOperations.d.ts +20 -0
  76. package/dist/zkgroup/profiles/ServerZkProfileOperations.js +39 -0
  77. package/dist/zkgroup/receipts/ClientZkReceiptOperations.d.ts +16 -0
  78. package/dist/zkgroup/receipts/ClientZkReceiptOperations.js +36 -0
  79. package/dist/zkgroup/receipts/ReceiptCredential.d.ts +7 -0
  80. package/dist/zkgroup/receipts/ReceiptCredential.js +21 -0
  81. package/dist/zkgroup/receipts/ReceiptCredentialPresentation.d.ts +10 -0
  82. package/dist/zkgroup/receipts/ReceiptCredentialPresentation.js +26 -0
  83. package/dist/zkgroup/receipts/ReceiptCredentialRequest.d.ts +5 -0
  84. package/dist/zkgroup/receipts/ReceiptCredentialRequest.js +15 -0
  85. package/dist/zkgroup/receipts/ReceiptCredentialRequestContext.d.ts +8 -0
  86. package/dist/zkgroup/receipts/ReceiptCredentialRequestContext.js +20 -0
  87. package/dist/zkgroup/receipts/ReceiptCredentialResponse.d.ts +5 -0
  88. package/dist/zkgroup/receipts/ReceiptCredentialResponse.js +15 -0
  89. package/dist/zkgroup/receipts/ReceiptSerial.d.ts +6 -0
  90. package/dist/zkgroup/receipts/ReceiptSerial.js +15 -0
  91. package/dist/zkgroup/receipts/ServerZkReceiptOperations.d.ts +12 -0
  92. package/dist/zkgroup/receipts/ServerZkReceiptOperations.js +28 -0
  93. package/package.json +57 -0
  94. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  95. package/prebuilds/darwin-x64/node.napi.node +0 -0
  96. package/prebuilds/linux-arm64/node.napi.node +0 -0
  97. package/prebuilds/linux-x64/node.napi.node +0 -0
  98. package/prebuilds/win32-arm64/node.napi.node +0 -0
  99. package/prebuilds/win32-x64/node.napi.node +0 -0
  100. package/zkgroup.d.ts +7 -0
  101. package/zkgroup.js +7 -0
@@ -0,0 +1,6 @@
1
+ /// <reference types="node" />
2
+ import ByteArray from './internal/ByteArray';
3
+ export default class NotarySignature extends ByteArray {
4
+ static SIZE: number;
5
+ constructor(contents: Buffer);
6
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020-2021 Signal Messenger, LLC.
4
+ // SPDX-License-Identifier: AGPL-3.0-only
5
+ //
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const ByteArray_1 = require("./internal/ByteArray");
8
+ class NotarySignature extends ByteArray_1.default {
9
+ constructor(contents) {
10
+ super(contents, NotarySignature.checkLength(NotarySignature.SIZE));
11
+ }
12
+ }
13
+ exports.default = NotarySignature;
14
+ NotarySignature.SIZE = 64;
15
+ //# sourceMappingURL=NotarySignature.js.map
@@ -0,0 +1,7 @@
1
+ /// <reference types="node" />
2
+ import ByteArray from './internal/ByteArray';
3
+ import NotarySignature from './NotarySignature';
4
+ export default class ServerPublicParams extends ByteArray {
5
+ constructor(contents: Buffer);
6
+ verifySignature(message: Buffer, notarySignature: NotarySignature): void;
7
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020-2021 Signal Messenger, LLC.
4
+ // SPDX-License-Identifier: AGPL-3.0-only
5
+ //
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const ByteArray_1 = require("./internal/ByteArray");
8
+ const Native = require("../../Native");
9
+ class ServerPublicParams extends ByteArray_1.default {
10
+ constructor(contents) {
11
+ super(contents, Native.ServerPublicParams_CheckValidContents);
12
+ }
13
+ verifySignature(message, notarySignature) {
14
+ Native.ServerPublicParams_VerifySignature(this.contents, message, notarySignature.getContents());
15
+ }
16
+ }
17
+ exports.default = ServerPublicParams;
18
+ //# sourceMappingURL=ServerPublicParams.js.map
@@ -0,0 +1,12 @@
1
+ /// <reference types="node" />
2
+ import ByteArray from './internal/ByteArray';
3
+ import ServerPublicParams from './ServerPublicParams';
4
+ import NotarySignature from './NotarySignature';
5
+ export default class ServerSecretParams extends ByteArray {
6
+ static generate(): ServerSecretParams;
7
+ static generateWithRandom(random: Buffer): ServerSecretParams;
8
+ constructor(contents: Buffer);
9
+ getPublicParams(): ServerPublicParams;
10
+ sign(message: Buffer): NotarySignature;
11
+ signWithRandom(random: Buffer, message: Buffer): NotarySignature;
12
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2021 Signal Messenger, LLC.
4
+ // SPDX-License-Identifier: AGPL-3.0-only
5
+ //
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const crypto_1 = require("crypto");
8
+ const Native = require("../../Native");
9
+ const ByteArray_1 = require("./internal/ByteArray");
10
+ const Constants_1 = require("./internal/Constants");
11
+ const ServerPublicParams_1 = require("./ServerPublicParams");
12
+ const NotarySignature_1 = require("./NotarySignature");
13
+ class ServerSecretParams extends ByteArray_1.default {
14
+ static generate() {
15
+ const random = (0, crypto_1.randomBytes)(Constants_1.RANDOM_LENGTH);
16
+ return ServerSecretParams.generateWithRandom(random);
17
+ }
18
+ static generateWithRandom(random) {
19
+ return new ServerSecretParams(Native.ServerSecretParams_GenerateDeterministic(random));
20
+ }
21
+ constructor(contents) {
22
+ super(contents, Native.ServerSecretParams_CheckValidContents);
23
+ }
24
+ getPublicParams() {
25
+ return new ServerPublicParams_1.default(Native.ServerSecretParams_GetPublicParams(this.contents));
26
+ }
27
+ sign(message) {
28
+ const random = (0, crypto_1.randomBytes)(Constants_1.RANDOM_LENGTH);
29
+ return this.signWithRandom(random, message);
30
+ }
31
+ signWithRandom(random, message) {
32
+ return new NotarySignature_1.default(Native.ServerSecretParams_SignDeterministic(this.contents, random, message));
33
+ }
34
+ }
35
+ exports.default = ServerSecretParams;
36
+ //# sourceMappingURL=ServerSecretParams.js.map
@@ -0,0 +1,5 @@
1
+ /// <reference types="node" />
2
+ import ByteArray from '../internal/ByteArray';
3
+ export default class AuthCredential extends ByteArray {
4
+ constructor(contents: Buffer);
5
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020-2021 Signal Messenger, LLC.
4
+ // SPDX-License-Identifier: AGPL-3.0-only
5
+ //
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const ByteArray_1 = require("../internal/ByteArray");
8
+ const Native = require("../../../Native");
9
+ class AuthCredential extends ByteArray_1.default {
10
+ constructor(contents) {
11
+ super(contents, Native.AuthCredential_CheckValidContents);
12
+ }
13
+ }
14
+ exports.default = AuthCredential;
15
+ //# sourceMappingURL=AuthCredential.js.map
@@ -0,0 +1,8 @@
1
+ /// <reference types="node" />
2
+ import ByteArray from '../internal/ByteArray';
3
+ import UuidCiphertext from '../groups/UuidCiphertext';
4
+ export default class AuthCredentialPresentation extends ByteArray {
5
+ constructor(contents: Buffer);
6
+ getUuidCiphertext(): UuidCiphertext;
7
+ getRedemptionTime(): number;
8
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020-2021 Signal Messenger, LLC.
4
+ // SPDX-License-Identifier: AGPL-3.0-only
5
+ //
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const ByteArray_1 = require("../internal/ByteArray");
8
+ const Native = require("../../../Native");
9
+ const UuidCiphertext_1 = require("../groups/UuidCiphertext");
10
+ class AuthCredentialPresentation extends ByteArray_1.default {
11
+ constructor(contents) {
12
+ super(contents, Native.AuthCredentialPresentation_CheckValidContents);
13
+ }
14
+ getUuidCiphertext() {
15
+ return new UuidCiphertext_1.default(Native.AuthCredentialPresentation_GetUuidCiphertext(this.contents));
16
+ }
17
+ getRedemptionTime() {
18
+ return Native.AuthCredentialPresentation_GetRedemptionTime(this.contents);
19
+ }
20
+ }
21
+ exports.default = AuthCredentialPresentation;
22
+ //# sourceMappingURL=AuthCredentialPresentation.js.map
@@ -0,0 +1,5 @@
1
+ /// <reference types="node" />
2
+ import ByteArray from '../internal/ByteArray';
3
+ export default class AuthCredentialResponse extends ByteArray {
4
+ constructor(contents: Buffer);
5
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020-2021 Signal Messenger, LLC.
4
+ // SPDX-License-Identifier: AGPL-3.0-only
5
+ //
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const ByteArray_1 = require("../internal/ByteArray");
8
+ const Native = require("../../../Native");
9
+ class AuthCredentialResponse extends ByteArray_1.default {
10
+ constructor(contents) {
11
+ super(contents, Native.AuthCredentialResponse_CheckValidContents);
12
+ }
13
+ }
14
+ exports.default = AuthCredentialResponse;
15
+ //# sourceMappingURL=AuthCredentialResponse.js.map
@@ -0,0 +1,14 @@
1
+ /// <reference types="node" />
2
+ import ServerPublicParams from '../ServerPublicParams';
3
+ import AuthCredential from './AuthCredential';
4
+ import AuthCredentialPresentation from './AuthCredentialPresentation';
5
+ import AuthCredentialResponse from './AuthCredentialResponse';
6
+ import GroupSecretParams from '../groups/GroupSecretParams';
7
+ import { UUIDType } from '../internal/UUIDUtil';
8
+ export default class ClientZkAuthOperations {
9
+ serverPublicParams: ServerPublicParams;
10
+ constructor(serverPublicParams: ServerPublicParams);
11
+ receiveAuthCredential(uuid: UUIDType, redemptionTime: number, authCredentialResponse: AuthCredentialResponse): AuthCredential;
12
+ createAuthCredentialPresentation(groupSecretParams: GroupSecretParams, authCredential: AuthCredential): AuthCredentialPresentation;
13
+ createAuthCredentialPresentationWithRandom(random: Buffer, groupSecretParams: GroupSecretParams, authCredential: AuthCredential): AuthCredentialPresentation;
14
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020-2021 Signal Messenger, LLC.
4
+ // SPDX-License-Identifier: AGPL-3.0-only
5
+ //
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const crypto_1 = require("crypto");
8
+ const Native = require("../../../Native");
9
+ const Constants_1 = require("../internal/Constants");
10
+ const AuthCredential_1 = require("./AuthCredential");
11
+ const AuthCredentialPresentation_1 = require("./AuthCredentialPresentation");
12
+ const UUIDUtil_1 = require("../internal/UUIDUtil");
13
+ class ClientZkAuthOperations {
14
+ constructor(serverPublicParams) {
15
+ this.serverPublicParams = serverPublicParams;
16
+ }
17
+ receiveAuthCredential(uuid, redemptionTime, authCredentialResponse) {
18
+ return new AuthCredential_1.default(Native.ServerPublicParams_ReceiveAuthCredential(this.serverPublicParams.getContents(), (0, UUIDUtil_1.fromUUID)(uuid), redemptionTime, authCredentialResponse.getContents()));
19
+ }
20
+ createAuthCredentialPresentation(groupSecretParams, authCredential) {
21
+ const random = (0, crypto_1.randomBytes)(Constants_1.RANDOM_LENGTH);
22
+ return this.createAuthCredentialPresentationWithRandom(random, groupSecretParams, authCredential);
23
+ }
24
+ createAuthCredentialPresentationWithRandom(random, groupSecretParams, authCredential) {
25
+ return new AuthCredentialPresentation_1.default(Native.ServerPublicParams_CreateAuthCredentialPresentationDeterministic(this.serverPublicParams.getContents(), random, groupSecretParams.getContents(), authCredential.getContents()));
26
+ }
27
+ }
28
+ exports.default = ClientZkAuthOperations;
29
+ //# sourceMappingURL=ClientZkAuthOperations.js.map
@@ -0,0 +1,13 @@
1
+ /// <reference types="node" />
2
+ import ServerSecretParams from '../ServerSecretParams';
3
+ import AuthCredentialResponse from './AuthCredentialResponse';
4
+ import AuthCredentialPresentation from './AuthCredentialPresentation';
5
+ import GroupPublicParams from '../groups/GroupPublicParams';
6
+ import { UUIDType } from '../internal/UUIDUtil';
7
+ export default class ServerZkAuthOperations {
8
+ serverSecretParams: ServerSecretParams;
9
+ constructor(serverSecretParams: ServerSecretParams);
10
+ issueAuthCredential(uuid: UUIDType, redemptionTime: number): AuthCredentialResponse;
11
+ issueAuthCredentialWithRandom(random: Buffer, uuid: UUIDType, redemptionTime: number): AuthCredentialResponse;
12
+ verifyAuthCredentialPresentation(groupPublicParams: GroupPublicParams, authCredentialPresentation: AuthCredentialPresentation): void;
13
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020-2021 Signal Messenger, LLC.
4
+ // SPDX-License-Identifier: AGPL-3.0-only
5
+ //
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const crypto_1 = require("crypto");
8
+ const Constants_1 = require("../internal/Constants");
9
+ const Native = require("../../../Native");
10
+ const AuthCredentialResponse_1 = require("./AuthCredentialResponse");
11
+ const UUIDUtil_1 = require("../internal/UUIDUtil");
12
+ class ServerZkAuthOperations {
13
+ constructor(serverSecretParams) {
14
+ this.serverSecretParams = serverSecretParams;
15
+ }
16
+ issueAuthCredential(uuid, redemptionTime) {
17
+ const random = (0, crypto_1.randomBytes)(Constants_1.RANDOM_LENGTH);
18
+ return this.issueAuthCredentialWithRandom(random, uuid, redemptionTime);
19
+ }
20
+ issueAuthCredentialWithRandom(random, uuid, redemptionTime) {
21
+ return new AuthCredentialResponse_1.default(Native.ServerSecretParams_IssueAuthCredentialDeterministic(this.serverSecretParams.getContents(), random, (0, UUIDUtil_1.fromUUID)(uuid), redemptionTime));
22
+ }
23
+ verifyAuthCredentialPresentation(groupPublicParams, authCredentialPresentation) {
24
+ Native.ServerSecretParams_VerifyAuthCredentialPresentation(this.serverSecretParams.getContents(), groupPublicParams.getContents(), authCredentialPresentation.getContents());
25
+ }
26
+ }
27
+ exports.default = ServerZkAuthOperations;
28
+ //# sourceMappingURL=ServerZkAuthOperations.js.map
@@ -0,0 +1,17 @@
1
+ /// <reference types="node" />
2
+ import UuidCiphertext from './UuidCiphertext';
3
+ import ProfileKeyCiphertext from './ProfileKeyCiphertext';
4
+ import ProfileKey from '../profiles/ProfileKey';
5
+ import GroupSecretParams from './GroupSecretParams';
6
+ import { UUIDType } from '../internal/UUIDUtil';
7
+ export default class ClientZkGroupCipher {
8
+ groupSecretParams: GroupSecretParams;
9
+ constructor(groupSecretParams: GroupSecretParams);
10
+ encryptUuid(uuid: UUIDType): UuidCiphertext;
11
+ decryptUuid(uuidCiphertext: UuidCiphertext): UUIDType;
12
+ encryptProfileKey(profileKey: ProfileKey, uuid: UUIDType): ProfileKeyCiphertext;
13
+ decryptProfileKey(profileKeyCiphertext: ProfileKeyCiphertext, uuid: UUIDType): ProfileKey;
14
+ encryptBlob(plaintext: Buffer): Buffer;
15
+ encryptBlobWithRandom(random: Buffer, plaintext: Buffer): Buffer;
16
+ decryptBlob(blobCiphertext: Buffer): Buffer;
17
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020-2021 Signal Messenger, LLC.
4
+ // SPDX-License-Identifier: AGPL-3.0-only
5
+ //
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const crypto_1 = require("crypto");
8
+ const Constants_1 = require("../internal/Constants");
9
+ const Native = require("../../../Native");
10
+ const UuidCiphertext_1 = require("./UuidCiphertext");
11
+ const ProfileKeyCiphertext_1 = require("./ProfileKeyCiphertext");
12
+ const ProfileKey_1 = require("../profiles/ProfileKey");
13
+ const UUIDUtil_1 = require("../internal/UUIDUtil");
14
+ class ClientZkGroupCipher {
15
+ constructor(groupSecretParams) {
16
+ this.groupSecretParams = groupSecretParams;
17
+ }
18
+ encryptUuid(uuid) {
19
+ return new UuidCiphertext_1.default(Native.GroupSecretParams_EncryptUuid(this.groupSecretParams.getContents(), (0, UUIDUtil_1.fromUUID)(uuid)));
20
+ }
21
+ decryptUuid(uuidCiphertext) {
22
+ return (0, UUIDUtil_1.toUUID)(Native.GroupSecretParams_DecryptUuid(this.groupSecretParams.getContents(), uuidCiphertext.getContents()));
23
+ }
24
+ encryptProfileKey(profileKey, uuid) {
25
+ return new ProfileKeyCiphertext_1.default(Native.GroupSecretParams_EncryptProfileKey(this.groupSecretParams.getContents(), profileKey.getContents(), (0, UUIDUtil_1.fromUUID)(uuid)));
26
+ }
27
+ decryptProfileKey(profileKeyCiphertext, uuid) {
28
+ return new ProfileKey_1.default(Native.GroupSecretParams_DecryptProfileKey(this.groupSecretParams.getContents(), profileKeyCiphertext.getContents(), (0, UUIDUtil_1.fromUUID)(uuid)));
29
+ }
30
+ encryptBlob(plaintext) {
31
+ const random = (0, crypto_1.randomBytes)(Constants_1.RANDOM_LENGTH);
32
+ return this.encryptBlobWithRandom(random, plaintext);
33
+ }
34
+ encryptBlobWithRandom(random, plaintext) {
35
+ return Native.GroupSecretParams_EncryptBlobWithPaddingDeterministic(this.groupSecretParams.getContents(), random, plaintext, 0);
36
+ }
37
+ decryptBlob(blobCiphertext) {
38
+ return Native.GroupSecretParams_DecryptBlobWithPadding(this.groupSecretParams.getContents(), blobCiphertext);
39
+ }
40
+ }
41
+ exports.default = ClientZkGroupCipher;
42
+ //# sourceMappingURL=ClientZkGroupCipher.js.map
@@ -0,0 +1,6 @@
1
+ /// <reference types="node" />
2
+ import ByteArray from '../internal/ByteArray';
3
+ export default class GroupIdentifier extends ByteArray {
4
+ static SIZE: number;
5
+ constructor(contents: Buffer);
6
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020-2021 Signal Messenger, LLC.
4
+ // SPDX-License-Identifier: AGPL-3.0-only
5
+ //
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const ByteArray_1 = require("../internal/ByteArray");
8
+ class GroupIdentifier extends ByteArray_1.default {
9
+ constructor(contents) {
10
+ super(contents, GroupIdentifier.checkLength(GroupIdentifier.SIZE));
11
+ }
12
+ }
13
+ exports.default = GroupIdentifier;
14
+ GroupIdentifier.SIZE = 32;
15
+ //# sourceMappingURL=GroupIdentifier.js.map
@@ -0,0 +1,6 @@
1
+ /// <reference types="node" />
2
+ import ByteArray from '../internal/ByteArray';
3
+ export default class GroupMasterKey extends ByteArray {
4
+ static SIZE: number;
5
+ constructor(contents: Buffer);
6
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020-2021 Signal Messenger, LLC.
4
+ // SPDX-License-Identifier: AGPL-3.0-only
5
+ //
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const ByteArray_1 = require("../internal/ByteArray");
8
+ class GroupMasterKey extends ByteArray_1.default {
9
+ constructor(contents) {
10
+ super(contents, GroupMasterKey.checkLength(GroupMasterKey.SIZE));
11
+ }
12
+ }
13
+ exports.default = GroupMasterKey;
14
+ GroupMasterKey.SIZE = 32;
15
+ //# sourceMappingURL=GroupMasterKey.js.map
@@ -0,0 +1,7 @@
1
+ /// <reference types="node" />
2
+ import ByteArray from '../internal/ByteArray';
3
+ import GroupIdentifier from './GroupIdentifier';
4
+ export default class GroupPublicParams extends ByteArray {
5
+ constructor(contents: Buffer);
6
+ getGroupIdentifier(): GroupIdentifier;
7
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020-2021 Signal Messenger, LLC.
4
+ // SPDX-License-Identifier: AGPL-3.0-only
5
+ //
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const ByteArray_1 = require("../internal/ByteArray");
8
+ const Native = require("../../../Native");
9
+ const GroupIdentifier_1 = require("./GroupIdentifier");
10
+ class GroupPublicParams extends ByteArray_1.default {
11
+ constructor(contents) {
12
+ super(contents, Native.GroupPublicParams_CheckValidContents);
13
+ }
14
+ getGroupIdentifier() {
15
+ return new GroupIdentifier_1.default(Native.GroupPublicParams_GetGroupIdentifier(this.contents));
16
+ }
17
+ }
18
+ exports.default = GroupPublicParams;
19
+ //# sourceMappingURL=GroupPublicParams.js.map
@@ -0,0 +1,12 @@
1
+ /// <reference types="node" />
2
+ import ByteArray from '../internal/ByteArray';
3
+ import GroupMasterKey from './GroupMasterKey';
4
+ import GroupPublicParams from './GroupPublicParams';
5
+ export default class GroupSecretParams extends ByteArray {
6
+ static generate(): GroupSecretParams;
7
+ static generateWithRandom(random: Buffer): GroupSecretParams;
8
+ static deriveFromMasterKey(groupMasterKey: GroupMasterKey): GroupSecretParams;
9
+ constructor(contents: Buffer);
10
+ getMasterKey(): GroupMasterKey;
11
+ getPublicParams(): GroupPublicParams;
12
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020-2021 Signal Messenger, LLC.
4
+ // SPDX-License-Identifier: AGPL-3.0-only
5
+ //
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const crypto_1 = require("crypto");
8
+ const ByteArray_1 = require("../internal/ByteArray");
9
+ const Native = require("../../../Native");
10
+ const Constants_1 = require("../internal/Constants");
11
+ const GroupMasterKey_1 = require("./GroupMasterKey");
12
+ const GroupPublicParams_1 = require("./GroupPublicParams");
13
+ class GroupSecretParams extends ByteArray_1.default {
14
+ static generate() {
15
+ const random = (0, crypto_1.randomBytes)(Constants_1.RANDOM_LENGTH);
16
+ return GroupSecretParams.generateWithRandom(random);
17
+ }
18
+ static generateWithRandom(random) {
19
+ return new GroupSecretParams(Native.GroupSecretParams_GenerateDeterministic(random));
20
+ }
21
+ static deriveFromMasterKey(groupMasterKey) {
22
+ return new GroupSecretParams(Native.GroupSecretParams_DeriveFromMasterKey(groupMasterKey.getContents()));
23
+ }
24
+ constructor(contents) {
25
+ super(contents, Native.GroupSecretParams_CheckValidContents);
26
+ }
27
+ getMasterKey() {
28
+ return new GroupMasterKey_1.default(Native.GroupSecretParams_GetMasterKey(this.contents));
29
+ }
30
+ getPublicParams() {
31
+ return new GroupPublicParams_1.default(Native.GroupSecretParams_GetPublicParams(this.contents));
32
+ }
33
+ }
34
+ exports.default = GroupSecretParams;
35
+ //# sourceMappingURL=GroupSecretParams.js.map
@@ -0,0 +1,5 @@
1
+ /// <reference types="node" />
2
+ import ByteArray from '../internal/ByteArray';
3
+ export default class ProfileKeyCiphertext extends ByteArray {
4
+ constructor(contents: Buffer);
5
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020-2021 Signal Messenger, LLC.
4
+ // SPDX-License-Identifier: AGPL-3.0-only
5
+ //
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const ByteArray_1 = require("../internal/ByteArray");
8
+ const Native = require("../../../Native");
9
+ class ProfileKeyCiphertext extends ByteArray_1.default {
10
+ constructor(contents) {
11
+ super(contents, Native.ProfileKeyCiphertext_CheckValidContents);
12
+ }
13
+ }
14
+ exports.default = ProfileKeyCiphertext;
15
+ //# sourceMappingURL=ProfileKeyCiphertext.js.map
@@ -0,0 +1,5 @@
1
+ /// <reference types="node" />
2
+ import ByteArray from '../internal/ByteArray';
3
+ export default class UuidCiphertext extends ByteArray {
4
+ constructor(contents: Buffer);
5
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020-2021 Signal Messenger, LLC.
4
+ // SPDX-License-Identifier: AGPL-3.0-only
5
+ //
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const ByteArray_1 = require("../internal/ByteArray");
8
+ const Native = require("../../../Native");
9
+ class UuidCiphertext extends ByteArray_1.default {
10
+ constructor(contents) {
11
+ super(contents, Native.UuidCiphertext_CheckValidContents);
12
+ }
13
+ }
14
+ exports.default = UuidCiphertext;
15
+ //# sourceMappingURL=UuidCiphertext.js.map
@@ -0,0 +1,37 @@
1
+ export { default as ServerPublicParams } from './ServerPublicParams';
2
+ export { default as ServerSecretParams } from './ServerSecretParams';
3
+ export { default as NotarySignature } from './NotarySignature';
4
+ export { default as ClientZkAuthOperations } from './auth/ClientZkAuthOperations';
5
+ export { default as ServerZkAuthOperations } from './auth/ServerZkAuthOperations';
6
+ export { default as AuthCredential } from './auth/AuthCredential';
7
+ export { default as AuthCredentialResponse } from './auth/AuthCredentialResponse';
8
+ export { default as AuthCredentialPresentation } from './auth/AuthCredentialPresentation';
9
+ export { default as ClientZkGroupCipher } from './groups/ClientZkGroupCipher';
10
+ export { default as GroupIdentifier } from './groups/GroupIdentifier';
11
+ export { default as GroupMasterKey } from './groups/GroupMasterKey';
12
+ export { default as GroupPublicParams } from './groups/GroupPublicParams';
13
+ export { default as GroupSecretParams } from './groups/GroupSecretParams';
14
+ export { default as ProfileKeyCiphertext } from './groups/ProfileKeyCiphertext';
15
+ export { default as UuidCiphertext } from './groups/UuidCiphertext';
16
+ export { default as ClientZkProfileOperations } from './profiles/ClientZkProfileOperations';
17
+ export { default as ServerZkProfileOperations } from './profiles/ServerZkProfileOperations';
18
+ export { default as ProfileKey } from './profiles/ProfileKey';
19
+ export { default as ProfileKeyCommitment } from './profiles/ProfileKeyCommitment';
20
+ export { default as ProfileKeyCredential } from './profiles/ProfileKeyCredential';
21
+ export { default as ProfileKeyCredentialPresentation } from './profiles/ProfileKeyCredentialPresentation';
22
+ export { default as ProfileKeyCredentialRequest } from './profiles/ProfileKeyCredentialRequest';
23
+ export { default as ProfileKeyCredentialRequestContext } from './profiles/ProfileKeyCredentialRequestContext';
24
+ export { default as ProfileKeyCredentialResponse } from './profiles/ProfileKeyCredentialResponse';
25
+ export { default as ProfileKeyVersion } from './profiles/ProfileKeyVersion';
26
+ export { default as PniCredential } from './profiles/PniCredential';
27
+ export { default as PniCredentialPresentation } from './profiles/PniCredentialPresentation';
28
+ export { default as PniCredentialRequestContext } from './profiles/PniCredentialRequestContext';
29
+ export { default as PniCredentialResponse } from './profiles/PniCredentialResponse';
30
+ export { default as ClientZkReceiptOperations } from './receipts/ClientZkReceiptOperations';
31
+ export { default as ServerZkReceiptOperations } from './receipts/ServerZkReceiptOperations';
32
+ export { default as ReceiptCredential } from './receipts/ReceiptCredential';
33
+ export { default as ReceiptCredentialPresentation } from './receipts/ReceiptCredentialPresentation';
34
+ export { default as ReceiptCredentialRequest } from './receipts/ReceiptCredentialRequest';
35
+ export { default as ReceiptCredentialRequestContext } from './receipts/ReceiptCredentialRequestContext';
36
+ export { default as ReceiptCredentialResponse } from './receipts/ReceiptCredentialResponse';
37
+ export { default as ReceiptSerial } from './receipts/ReceiptSerial';