@signalapp/libsignal-client 0.16.0 → 0.18.1
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/Native.d.ts +31 -8
- package/dist/index.d.ts +9 -13
- package/dist/index.js +27 -19
- package/dist/zkgroup/NotarySignature.d.ts +1 -0
- package/dist/zkgroup/ServerPublicParams.d.ts +1 -0
- package/dist/zkgroup/ServerSecretParams.d.ts +1 -0
- package/dist/zkgroup/ServerSecretParams.js +3 -3
- package/dist/zkgroup/auth/AuthCredential.d.ts +1 -0
- package/dist/zkgroup/auth/AuthCredentialPresentation.d.ts +3 -1
- package/dist/zkgroup/auth/AuthCredentialPresentation.js +9 -2
- package/dist/zkgroup/auth/AuthCredentialResponse.d.ts +1 -0
- package/dist/zkgroup/auth/AuthCredentialWithPni.d.ts +6 -0
- package/dist/zkgroup/auth/AuthCredentialWithPni.js +15 -0
- package/dist/zkgroup/auth/AuthCredentialWithPniResponse.d.ts +6 -0
- package/dist/zkgroup/auth/AuthCredentialWithPniResponse.js +15 -0
- package/dist/zkgroup/auth/ClientZkAuthOperations.d.ts +10 -0
- package/dist/zkgroup/auth/ClientZkAuthOperations.js +17 -1
- package/dist/zkgroup/auth/ServerZkAuthOperations.d.ts +3 -0
- package/dist/zkgroup/auth/ServerZkAuthOperations.js +9 -1
- package/dist/zkgroup/groups/GroupIdentifier.d.ts +1 -0
- package/dist/zkgroup/groups/GroupMasterKey.d.ts +1 -0
- package/dist/zkgroup/groups/GroupPublicParams.d.ts +1 -0
- package/dist/zkgroup/groups/GroupSecretParams.d.ts +1 -0
- package/dist/zkgroup/groups/GroupSecretParams.js +3 -3
- package/dist/zkgroup/groups/ProfileKeyCiphertext.d.ts +1 -0
- package/dist/zkgroup/groups/UuidCiphertext.d.ts +1 -0
- package/dist/zkgroup/index.d.ts +4 -0
- package/dist/zkgroup/index.js +9 -1
- package/dist/zkgroup/profiles/ClientZkProfileOperations.d.ts +20 -0
- package/dist/zkgroup/profiles/ClientZkProfileOperations.js +27 -1
- package/dist/zkgroup/profiles/ExpiringProfileKeyCredential.d.ts +7 -0
- package/dist/zkgroup/profiles/ExpiringProfileKeyCredential.js +19 -0
- package/dist/zkgroup/profiles/ExpiringProfileKeyCredentialResponse.d.ts +6 -0
- package/dist/zkgroup/profiles/ExpiringProfileKeyCredentialResponse.js +15 -0
- package/dist/zkgroup/profiles/PniCredential.d.ts +1 -0
- package/dist/zkgroup/profiles/PniCredentialPresentation.d.ts +1 -0
- package/dist/zkgroup/profiles/PniCredentialRequestContext.d.ts +1 -0
- package/dist/zkgroup/profiles/PniCredentialResponse.d.ts +1 -0
- package/dist/zkgroup/profiles/ProfileKey.d.ts +1 -0
- package/dist/zkgroup/profiles/ProfileKeyCommitment.d.ts +1 -0
- package/dist/zkgroup/profiles/ProfileKeyCredential.d.ts +1 -0
- package/dist/zkgroup/profiles/ProfileKeyCredentialPresentation.d.ts +1 -0
- package/dist/zkgroup/profiles/ProfileKeyCredentialRequest.d.ts +1 -0
- package/dist/zkgroup/profiles/ProfileKeyCredentialRequestContext.d.ts +1 -0
- package/dist/zkgroup/profiles/ProfileKeyCredentialResponse.d.ts +1 -0
- package/dist/zkgroup/profiles/ProfileKeyVersion.d.ts +1 -0
- package/dist/zkgroup/profiles/ServerZkProfileOperations.d.ts +13 -1
- package/dist/zkgroup/profiles/ServerZkProfileOperations.js +20 -3
- package/dist/zkgroup/receipts/ReceiptCredential.d.ts +2 -1
- package/dist/zkgroup/receipts/ReceiptCredential.js +1 -1
- package/dist/zkgroup/receipts/ReceiptCredentialPresentation.d.ts +2 -1
- package/dist/zkgroup/receipts/ReceiptCredentialPresentation.js +1 -1
- package/dist/zkgroup/receipts/ReceiptCredentialRequest.d.ts +1 -0
- package/dist/zkgroup/receipts/ReceiptCredentialRequestContext.d.ts +1 -0
- package/dist/zkgroup/receipts/ReceiptCredentialResponse.d.ts +1 -0
- package/dist/zkgroup/receipts/ReceiptSerial.d.ts +1 -0
- package/dist/zkgroup/receipts/ServerZkReceiptOperations.d.ts +2 -2
- package/dist/zkgroup/receipts/ServerZkReceiptOperations.js +1 -1
- package/package.json +5 -7
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/prebuilds/darwin-x64/node.napi.node +0 -0
- package/prebuilds/linux-arm64/node.napi.node +0 -0
- package/prebuilds/linux-x64/node.napi.node +0 -0
- package/prebuilds/win32-arm64/node.napi.node +0 -0
- package/prebuilds/win32-x64/node.napi.node +0 -0
package/dist/zkgroup/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
5
5
|
//
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.ReceiptSerial = exports.ReceiptCredentialResponse = exports.ReceiptCredentialRequestContext = exports.ReceiptCredentialRequest = exports.ReceiptCredentialPresentation = exports.ReceiptCredential = exports.ServerZkReceiptOperations = exports.ClientZkReceiptOperations = exports.PniCredentialResponse = exports.PniCredentialRequestContext = exports.PniCredentialPresentation = exports.PniCredential = exports.ProfileKeyVersion = exports.ProfileKeyCredentialResponse = exports.ProfileKeyCredentialRequestContext = exports.ProfileKeyCredentialRequest = exports.ProfileKeyCredentialPresentation = exports.ProfileKeyCredential = exports.ProfileKeyCommitment = exports.ProfileKey = exports.ServerZkProfileOperations = exports.ClientZkProfileOperations = exports.UuidCiphertext = exports.ProfileKeyCiphertext = exports.GroupSecretParams = exports.GroupPublicParams = exports.GroupMasterKey = exports.GroupIdentifier = exports.ClientZkGroupCipher = exports.AuthCredentialPresentation = exports.AuthCredentialResponse = exports.AuthCredential = exports.ServerZkAuthOperations = exports.ClientZkAuthOperations = exports.NotarySignature = exports.ServerSecretParams = exports.ServerPublicParams = void 0;
|
|
7
|
+
exports.ReceiptSerial = exports.ReceiptCredentialResponse = exports.ReceiptCredentialRequestContext = exports.ReceiptCredentialRequest = exports.ReceiptCredentialPresentation = exports.ReceiptCredential = exports.ServerZkReceiptOperations = exports.ClientZkReceiptOperations = exports.PniCredentialResponse = exports.PniCredentialRequestContext = exports.PniCredentialPresentation = exports.PniCredential = exports.ExpiringProfileKeyCredentialResponse = exports.ExpiringProfileKeyCredential = exports.ProfileKeyVersion = exports.ProfileKeyCredentialResponse = exports.ProfileKeyCredentialRequestContext = exports.ProfileKeyCredentialRequest = exports.ProfileKeyCredentialPresentation = exports.ProfileKeyCredential = exports.ProfileKeyCommitment = exports.ProfileKey = exports.ServerZkProfileOperations = exports.ClientZkProfileOperations = exports.UuidCiphertext = exports.ProfileKeyCiphertext = exports.GroupSecretParams = exports.GroupPublicParams = exports.GroupMasterKey = exports.GroupIdentifier = exports.ClientZkGroupCipher = exports.AuthCredentialWithPniResponse = exports.AuthCredentialWithPni = exports.AuthCredentialPresentation = exports.AuthCredentialResponse = exports.AuthCredential = exports.ServerZkAuthOperations = exports.ClientZkAuthOperations = exports.NotarySignature = exports.ServerSecretParams = exports.ServerPublicParams = void 0;
|
|
8
8
|
// Root
|
|
9
9
|
var ServerPublicParams_1 = require("./ServerPublicParams");
|
|
10
10
|
Object.defineProperty(exports, "ServerPublicParams", { enumerable: true, get: function () { return ServerPublicParams_1.default; } });
|
|
@@ -23,6 +23,10 @@ var AuthCredentialResponse_1 = require("./auth/AuthCredentialResponse");
|
|
|
23
23
|
Object.defineProperty(exports, "AuthCredentialResponse", { enumerable: true, get: function () { return AuthCredentialResponse_1.default; } });
|
|
24
24
|
var AuthCredentialPresentation_1 = require("./auth/AuthCredentialPresentation");
|
|
25
25
|
Object.defineProperty(exports, "AuthCredentialPresentation", { enumerable: true, get: function () { return AuthCredentialPresentation_1.default; } });
|
|
26
|
+
var AuthCredentialWithPni_1 = require("./auth/AuthCredentialWithPni");
|
|
27
|
+
Object.defineProperty(exports, "AuthCredentialWithPni", { enumerable: true, get: function () { return AuthCredentialWithPni_1.default; } });
|
|
28
|
+
var AuthCredentialWithPniResponse_1 = require("./auth/AuthCredentialWithPniResponse");
|
|
29
|
+
Object.defineProperty(exports, "AuthCredentialWithPniResponse", { enumerable: true, get: function () { return AuthCredentialWithPniResponse_1.default; } });
|
|
26
30
|
// Groups
|
|
27
31
|
var ClientZkGroupCipher_1 = require("./groups/ClientZkGroupCipher");
|
|
28
32
|
Object.defineProperty(exports, "ClientZkGroupCipher", { enumerable: true, get: function () { return ClientZkGroupCipher_1.default; } });
|
|
@@ -59,6 +63,10 @@ var ProfileKeyCredentialResponse_1 = require("./profiles/ProfileKeyCredentialRes
|
|
|
59
63
|
Object.defineProperty(exports, "ProfileKeyCredentialResponse", { enumerable: true, get: function () { return ProfileKeyCredentialResponse_1.default; } });
|
|
60
64
|
var ProfileKeyVersion_1 = require("./profiles/ProfileKeyVersion");
|
|
61
65
|
Object.defineProperty(exports, "ProfileKeyVersion", { enumerable: true, get: function () { return ProfileKeyVersion_1.default; } });
|
|
66
|
+
var ExpiringProfileKeyCredential_1 = require("./profiles/ExpiringProfileKeyCredential");
|
|
67
|
+
Object.defineProperty(exports, "ExpiringProfileKeyCredential", { enumerable: true, get: function () { return ExpiringProfileKeyCredential_1.default; } });
|
|
68
|
+
var ExpiringProfileKeyCredentialResponse_1 = require("./profiles/ExpiringProfileKeyCredentialResponse");
|
|
69
|
+
Object.defineProperty(exports, "ExpiringProfileKeyCredentialResponse", { enumerable: true, get: function () { return ExpiringProfileKeyCredentialResponse_1.default; } });
|
|
62
70
|
var PniCredential_1 = require("./profiles/PniCredential");
|
|
63
71
|
Object.defineProperty(exports, "PniCredential", { enumerable: true, get: function () { return PniCredential_1.default; } });
|
|
64
72
|
var PniCredentialPresentation_1 = require("./profiles/PniCredentialPresentation");
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import ServerPublicParams from '../ServerPublicParams';
|
|
3
3
|
import GroupSecretParams from '../groups/GroupSecretParams';
|
|
4
|
+
import ExpiringProfileKeyCredential from './ExpiringProfileKeyCredential';
|
|
5
|
+
import ExpiringProfileKeyCredentialResponse from './ExpiringProfileKeyCredentialResponse';
|
|
4
6
|
import PniCredential from './PniCredential';
|
|
5
7
|
import PniCredentialPresentation from './PniCredentialPresentation';
|
|
6
8
|
import PniCredentialRequestContext from './PniCredentialRequestContext';
|
|
@@ -16,12 +18,30 @@ export default class ClientZkProfileOperations {
|
|
|
16
18
|
constructor(serverPublicParams: ServerPublicParams);
|
|
17
19
|
createProfileKeyCredentialRequestContext(uuid: UUIDType, profileKey: ProfileKey): ProfileKeyCredentialRequestContext;
|
|
18
20
|
createProfileKeyCredentialRequestContextWithRandom(random: Buffer, uuid: UUIDType, profileKey: ProfileKey): ProfileKeyCredentialRequestContext;
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated Superseded by AuthCredentialWithPni + ProfileKeyCredential
|
|
23
|
+
*/
|
|
19
24
|
createPniCredentialRequestContext(aci: UUIDType, pni: UUIDType, profileKey: ProfileKey): PniCredentialRequestContext;
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated Superseded by AuthCredentialWithPni + ProfileKeyCredential
|
|
27
|
+
*/
|
|
20
28
|
createPniCredentialRequestContextWithRandom(random: Buffer, aci: UUIDType, pni: UUIDType, profileKey: ProfileKey): PniCredentialRequestContext;
|
|
21
29
|
receiveProfileKeyCredential(profileKeyCredentialRequestContext: ProfileKeyCredentialRequestContext, profileKeyCredentialResponse: ProfileKeyCredentialResponse): ProfileKeyCredential;
|
|
30
|
+
receiveExpiringProfileKeyCredential(profileKeyCredentialRequestContext: ProfileKeyCredentialRequestContext, profileKeyCredentialResponse: ExpiringProfileKeyCredentialResponse, now?: Date): ExpiringProfileKeyCredential;
|
|
31
|
+
/**
|
|
32
|
+
* @deprecated Superseded by AuthCredentialWithPni + ProfileKeyCredential
|
|
33
|
+
*/
|
|
22
34
|
receivePniCredential(requestContext: PniCredentialRequestContext, response: PniCredentialResponse): PniCredential;
|
|
23
35
|
createProfileKeyCredentialPresentation(groupSecretParams: GroupSecretParams, profileKeyCredential: ProfileKeyCredential): ProfileKeyCredentialPresentation;
|
|
24
36
|
createProfileKeyCredentialPresentationWithRandom(random: Buffer, groupSecretParams: GroupSecretParams, profileKeyCredential: ProfileKeyCredential): ProfileKeyCredentialPresentation;
|
|
37
|
+
createExpiringProfileKeyCredentialPresentation(groupSecretParams: GroupSecretParams, profileKeyCredential: ExpiringProfileKeyCredential): ProfileKeyCredentialPresentation;
|
|
38
|
+
createExpiringProfileKeyCredentialPresentationWithRandom(random: Buffer, groupSecretParams: GroupSecretParams, profileKeyCredential: ExpiringProfileKeyCredential): ProfileKeyCredentialPresentation;
|
|
39
|
+
/**
|
|
40
|
+
* @deprecated Superseded by AuthCredentialWithPni + ProfileKeyCredential
|
|
41
|
+
*/
|
|
25
42
|
createPniCredentialPresentation(groupSecretParams: GroupSecretParams, credential: PniCredential): PniCredentialPresentation;
|
|
43
|
+
/**
|
|
44
|
+
* @deprecated Superseded by AuthCredentialWithPni + ProfileKeyCredential
|
|
45
|
+
*/
|
|
26
46
|
createPniCredentialPresentationWithRandom(random: Buffer, groupSecretParams: GroupSecretParams, credential: PniCredential): PniCredentialPresentation;
|
|
27
47
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
//
|
|
3
|
-
// Copyright 2020-
|
|
3
|
+
// Copyright 2020-2022 Signal Messenger, LLC.
|
|
4
4
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
5
5
|
//
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
const crypto_1 = require("crypto");
|
|
8
8
|
const Constants_1 = require("../internal/Constants");
|
|
9
9
|
const Native = require("../../../Native");
|
|
10
|
+
const ExpiringProfileKeyCredential_1 = require("./ExpiringProfileKeyCredential");
|
|
10
11
|
const PniCredential_1 = require("./PniCredential");
|
|
11
12
|
const PniCredentialPresentation_1 = require("./PniCredentialPresentation");
|
|
12
13
|
const PniCredentialRequestContext_1 = require("./PniCredentialRequestContext");
|
|
@@ -25,16 +26,28 @@ class ClientZkProfileOperations {
|
|
|
25
26
|
createProfileKeyCredentialRequestContextWithRandom(random, uuid, profileKey) {
|
|
26
27
|
return new ProfileKeyCredentialRequestContext_1.default(Native.ServerPublicParams_CreateProfileKeyCredentialRequestContextDeterministic(this.serverPublicParams.getContents(), random, (0, UUIDUtil_1.fromUUID)(uuid), profileKey.getContents()));
|
|
27
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated Superseded by AuthCredentialWithPni + ProfileKeyCredential
|
|
31
|
+
*/
|
|
28
32
|
createPniCredentialRequestContext(aci, pni, profileKey) {
|
|
29
33
|
const random = (0, crypto_1.randomBytes)(Constants_1.RANDOM_LENGTH);
|
|
30
34
|
return this.createPniCredentialRequestContextWithRandom(random, aci, pni, profileKey);
|
|
31
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated Superseded by AuthCredentialWithPni + ProfileKeyCredential
|
|
38
|
+
*/
|
|
32
39
|
createPniCredentialRequestContextWithRandom(random, aci, pni, profileKey) {
|
|
33
40
|
return new PniCredentialRequestContext_1.default(Native.ServerPublicParams_CreatePniCredentialRequestContextDeterministic(this.serverPublicParams.getContents(), random, (0, UUIDUtil_1.fromUUID)(aci), (0, UUIDUtil_1.fromUUID)(pni), profileKey.getContents()));
|
|
34
41
|
}
|
|
35
42
|
receiveProfileKeyCredential(profileKeyCredentialRequestContext, profileKeyCredentialResponse) {
|
|
36
43
|
return new ProfileKeyCredential_1.default(Native.ServerPublicParams_ReceiveProfileKeyCredential(this.serverPublicParams.getContents(), profileKeyCredentialRequestContext.getContents(), profileKeyCredentialResponse.getContents()));
|
|
37
44
|
}
|
|
45
|
+
receiveExpiringProfileKeyCredential(profileKeyCredentialRequestContext, profileKeyCredentialResponse, now = new Date()) {
|
|
46
|
+
return new ExpiringProfileKeyCredential_1.default(Native.ServerPublicParams_ReceiveExpiringProfileKeyCredential(this.serverPublicParams.getContents(), profileKeyCredentialRequestContext.getContents(), profileKeyCredentialResponse.getContents(), Math.floor(now.getTime() / 1000)));
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* @deprecated Superseded by AuthCredentialWithPni + ProfileKeyCredential
|
|
50
|
+
*/
|
|
38
51
|
receivePniCredential(requestContext, response) {
|
|
39
52
|
return new PniCredential_1.default(Native.ServerPublicParams_ReceivePniCredential(this.serverPublicParams.getContents(), requestContext.getContents(), response.getContents()));
|
|
40
53
|
}
|
|
@@ -45,10 +58,23 @@ class ClientZkProfileOperations {
|
|
|
45
58
|
createProfileKeyCredentialPresentationWithRandom(random, groupSecretParams, profileKeyCredential) {
|
|
46
59
|
return new ProfileKeyCredentialPresentation_1.default(Native.ServerPublicParams_CreateProfileKeyCredentialPresentationDeterministic(this.serverPublicParams.getContents(), random, groupSecretParams.getContents(), profileKeyCredential.getContents()));
|
|
47
60
|
}
|
|
61
|
+
createExpiringProfileKeyCredentialPresentation(groupSecretParams, profileKeyCredential) {
|
|
62
|
+
const random = (0, crypto_1.randomBytes)(Constants_1.RANDOM_LENGTH);
|
|
63
|
+
return this.createExpiringProfileKeyCredentialPresentationWithRandom(random, groupSecretParams, profileKeyCredential);
|
|
64
|
+
}
|
|
65
|
+
createExpiringProfileKeyCredentialPresentationWithRandom(random, groupSecretParams, profileKeyCredential) {
|
|
66
|
+
return new ProfileKeyCredentialPresentation_1.default(Native.ServerPublicParams_CreateExpiringProfileKeyCredentialPresentationDeterministic(this.serverPublicParams.getContents(), random, groupSecretParams.getContents(), profileKeyCredential.getContents()));
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* @deprecated Superseded by AuthCredentialWithPni + ProfileKeyCredential
|
|
70
|
+
*/
|
|
48
71
|
createPniCredentialPresentation(groupSecretParams, credential) {
|
|
49
72
|
const random = (0, crypto_1.randomBytes)(Constants_1.RANDOM_LENGTH);
|
|
50
73
|
return this.createPniCredentialPresentationWithRandom(random, groupSecretParams, credential);
|
|
51
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* @deprecated Superseded by AuthCredentialWithPni + ProfileKeyCredential
|
|
77
|
+
*/
|
|
52
78
|
createPniCredentialPresentationWithRandom(random, groupSecretParams, credential) {
|
|
53
79
|
return new PniCredentialPresentation_1.default(Native.ServerPublicParams_CreatePniCredentialPresentationDeterministic(this.serverPublicParams.getContents(), random, groupSecretParams.getContents(), credential.getContents()));
|
|
54
80
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
//
|
|
3
|
+
// Copyright 2022 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 ExpiringProfileKeyCredential extends ByteArray_1.default {
|
|
10
|
+
constructor(contents) {
|
|
11
|
+
super(contents, Native.ExpiringProfileKeyCredential_CheckValidContents);
|
|
12
|
+
}
|
|
13
|
+
getExpirationTime() {
|
|
14
|
+
return new Date(1000 *
|
|
15
|
+
Native.ExpiringProfileKeyCredential_GetExpirationTime(this.contents));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.default = ExpiringProfileKeyCredential;
|
|
19
|
+
//# sourceMappingURL=ExpiringProfileKeyCredential.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
//
|
|
3
|
+
// Copyright 2022 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 ExpiringProfileKeyCredentialResponse extends ByteArray_1.default {
|
|
10
|
+
constructor(contents) {
|
|
11
|
+
super(contents, Native.ExpiringProfileKeyCredentialResponse_CheckValidContents);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.default = ExpiringProfileKeyCredentialResponse;
|
|
15
|
+
//# sourceMappingURL=ExpiringProfileKeyCredentialResponse.js.map
|
|
@@ -3,6 +3,7 @@ import ByteArray from '../internal/ByteArray';
|
|
|
3
3
|
import UuidCiphertext from '../groups/UuidCiphertext';
|
|
4
4
|
import ProfileKeyCiphertext from '../groups/ProfileKeyCiphertext';
|
|
5
5
|
export default class PniCredentialPresentation extends ByteArray {
|
|
6
|
+
private readonly __type?;
|
|
6
7
|
constructor(contents: Buffer);
|
|
7
8
|
getAciCiphertext(): UuidCiphertext;
|
|
8
9
|
getPniCiphertext(): UuidCiphertext;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import ByteArray from '../internal/ByteArray';
|
|
3
3
|
import ProfileKeyCredentialRequest from './ProfileKeyCredentialRequest';
|
|
4
4
|
export default class PniCredentialRequestContext extends ByteArray {
|
|
5
|
+
private readonly __type?;
|
|
5
6
|
constructor(contents: Buffer);
|
|
6
7
|
getRequest(): ProfileKeyCredentialRequest;
|
|
7
8
|
}
|
|
@@ -4,6 +4,7 @@ import ProfileKeyCommitment from './ProfileKeyCommitment';
|
|
|
4
4
|
import ProfileKeyVersion from './ProfileKeyVersion';
|
|
5
5
|
import { UUIDType } from '../internal/UUIDUtil';
|
|
6
6
|
export default class ProfileKey extends ByteArray {
|
|
7
|
+
private readonly __type?;
|
|
7
8
|
static SIZE: number;
|
|
8
9
|
constructor(contents: Buffer);
|
|
9
10
|
getCommitment(uuid: UUIDType): ProfileKeyCommitment;
|
|
@@ -3,6 +3,7 @@ import ByteArray from '../internal/ByteArray';
|
|
|
3
3
|
import UuidCiphertext from '../groups/UuidCiphertext';
|
|
4
4
|
import ProfileKeyCiphertext from '../groups/ProfileKeyCiphertext';
|
|
5
5
|
export default class ProfileKeyCredentialPresentation extends ByteArray {
|
|
6
|
+
private readonly __type?;
|
|
6
7
|
constructor(contents: Buffer);
|
|
7
8
|
getUuidCiphertext(): UuidCiphertext;
|
|
8
9
|
getProfileKeyCiphertext(): ProfileKeyCiphertext;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import ByteArray from '../internal/ByteArray';
|
|
3
3
|
import ProfileKeyCredentialRequest from './ProfileKeyCredentialRequest';
|
|
4
4
|
export default class ProfileKeyCredentialRequestContext extends ByteArray {
|
|
5
|
+
private readonly __type?;
|
|
5
6
|
constructor(contents: Buffer);
|
|
6
7
|
getRequest(): ProfileKeyCredentialRequest;
|
|
7
8
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import ServerSecretParams from '../ServerSecretParams';
|
|
3
3
|
import GroupPublicParams from '../groups/GroupPublicParams';
|
|
4
|
+
import ExpiringProfileKeyCredentialResponse from './ExpiringProfileKeyCredentialResponse';
|
|
4
5
|
import PniCredentialPresentation from './PniCredentialPresentation';
|
|
5
6
|
import PniCredentialResponse from './PniCredentialResponse';
|
|
6
7
|
import ProfileKeyCommitment from './ProfileKeyCommitment';
|
|
@@ -13,8 +14,19 @@ export default class ServerZkProfileOperations {
|
|
|
13
14
|
constructor(serverSecretParams: ServerSecretParams);
|
|
14
15
|
issueProfileKeyCredential(profileKeyCredentialRequest: ProfileKeyCredentialRequest, uuid: UUIDType, profileKeyCommitment: ProfileKeyCommitment): ProfileKeyCredentialResponse;
|
|
15
16
|
issueProfileKeyCredentialWithRandom(random: Buffer, profileKeyCredentialRequest: ProfileKeyCredentialRequest, uuid: UUIDType, profileKeyCommitment: ProfileKeyCommitment): ProfileKeyCredentialResponse;
|
|
17
|
+
issueExpiringProfileKeyCredential(profileKeyCredentialRequest: ProfileKeyCredentialRequest, uuid: UUIDType, profileKeyCommitment: ProfileKeyCommitment, expirationInSeconds: number): ExpiringProfileKeyCredentialResponse;
|
|
18
|
+
issueExpiringProfileKeyCredentialWithRandom(random: Buffer, profileKeyCredentialRequest: ProfileKeyCredentialRequest, uuid: UUIDType, profileKeyCommitment: ProfileKeyCommitment, expirationInSeconds: number): ExpiringProfileKeyCredentialResponse;
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated Superseded by AuthCredentialWithPni + ProfileKeyCredential
|
|
21
|
+
*/
|
|
16
22
|
issuePniCredential(profileKeyCredentialRequest: ProfileKeyCredentialRequest, aci: UUIDType, pni: UUIDType, profileKeyCommitment: ProfileKeyCommitment): PniCredentialResponse;
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated Superseded by AuthCredentialWithPni + ProfileKeyCredential
|
|
25
|
+
*/
|
|
17
26
|
issuePniCredentialWithRandom(random: Buffer, profileKeyCredentialRequest: ProfileKeyCredentialRequest, aci: UUIDType, pni: UUIDType, profileKeyCommitment: ProfileKeyCommitment): PniCredentialResponse;
|
|
18
|
-
verifyProfileKeyCredentialPresentation(groupPublicParams: GroupPublicParams, profileKeyCredentialPresentation: ProfileKeyCredentialPresentation): void;
|
|
27
|
+
verifyProfileKeyCredentialPresentation(groupPublicParams: GroupPublicParams, profileKeyCredentialPresentation: ProfileKeyCredentialPresentation, now?: Date): void;
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated Superseded by AuthCredentialWithPni + ProfileKeyCredential
|
|
30
|
+
*/
|
|
19
31
|
verifyPniCredentialPresentation(groupPublicParams: GroupPublicParams, presentation: PniCredentialPresentation): void;
|
|
20
32
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
//
|
|
3
|
-
// Copyright 2020-
|
|
3
|
+
// Copyright 2020-2022 Signal Messenger, LLC.
|
|
4
4
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
5
5
|
//
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
const crypto_1 = require("crypto");
|
|
8
8
|
const Native = require("../../../Native");
|
|
9
9
|
const Constants_1 = require("../internal/Constants");
|
|
10
|
+
const ExpiringProfileKeyCredentialResponse_1 = require("./ExpiringProfileKeyCredentialResponse");
|
|
10
11
|
const PniCredentialResponse_1 = require("./PniCredentialResponse");
|
|
11
12
|
const ProfileKeyCredentialResponse_1 = require("./ProfileKeyCredentialResponse");
|
|
12
13
|
const UUIDUtil_1 = require("../internal/UUIDUtil");
|
|
@@ -21,16 +22,32 @@ class ServerZkProfileOperations {
|
|
|
21
22
|
issueProfileKeyCredentialWithRandom(random, profileKeyCredentialRequest, uuid, profileKeyCommitment) {
|
|
22
23
|
return new ProfileKeyCredentialResponse_1.default(Native.ServerSecretParams_IssueProfileKeyCredentialDeterministic(this.serverSecretParams.getContents(), random, profileKeyCredentialRequest.getContents(), (0, UUIDUtil_1.fromUUID)(uuid), profileKeyCommitment.getContents()));
|
|
23
24
|
}
|
|
25
|
+
issueExpiringProfileKeyCredential(profileKeyCredentialRequest, uuid, profileKeyCommitment, expirationInSeconds) {
|
|
26
|
+
const random = (0, crypto_1.randomBytes)(Constants_1.RANDOM_LENGTH);
|
|
27
|
+
return this.issueExpiringProfileKeyCredentialWithRandom(random, profileKeyCredentialRequest, uuid, profileKeyCommitment, expirationInSeconds);
|
|
28
|
+
}
|
|
29
|
+
issueExpiringProfileKeyCredentialWithRandom(random, profileKeyCredentialRequest, uuid, profileKeyCommitment, expirationInSeconds) {
|
|
30
|
+
return new ExpiringProfileKeyCredentialResponse_1.default(Native.ServerSecretParams_IssueExpiringProfileKeyCredentialDeterministic(this.serverSecretParams.getContents(), random, profileKeyCredentialRequest.getContents(), (0, UUIDUtil_1.fromUUID)(uuid), profileKeyCommitment.getContents(), expirationInSeconds));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated Superseded by AuthCredentialWithPni + ProfileKeyCredential
|
|
34
|
+
*/
|
|
24
35
|
issuePniCredential(profileKeyCredentialRequest, aci, pni, profileKeyCommitment) {
|
|
25
36
|
const random = (0, crypto_1.randomBytes)(Constants_1.RANDOM_LENGTH);
|
|
26
37
|
return this.issuePniCredentialWithRandom(random, profileKeyCredentialRequest, aci, pni, profileKeyCommitment);
|
|
27
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* @deprecated Superseded by AuthCredentialWithPni + ProfileKeyCredential
|
|
41
|
+
*/
|
|
28
42
|
issuePniCredentialWithRandom(random, profileKeyCredentialRequest, aci, pni, profileKeyCommitment) {
|
|
29
43
|
return new PniCredentialResponse_1.default(Native.ServerSecretParams_IssuePniCredentialDeterministic(this.serverSecretParams.getContents(), random, profileKeyCredentialRequest.getContents(), (0, UUIDUtil_1.fromUUID)(aci), (0, UUIDUtil_1.fromUUID)(pni), profileKeyCommitment.getContents()));
|
|
30
44
|
}
|
|
31
|
-
verifyProfileKeyCredentialPresentation(groupPublicParams, profileKeyCredentialPresentation) {
|
|
32
|
-
Native.ServerSecretParams_VerifyProfileKeyCredentialPresentation(this.serverSecretParams.getContents(), groupPublicParams.getContents(), profileKeyCredentialPresentation.getContents());
|
|
45
|
+
verifyProfileKeyCredentialPresentation(groupPublicParams, profileKeyCredentialPresentation, now = new Date()) {
|
|
46
|
+
Native.ServerSecretParams_VerifyProfileKeyCredentialPresentation(this.serverSecretParams.getContents(), groupPublicParams.getContents(), profileKeyCredentialPresentation.getContents(), Math.floor(now.getTime() / 1000));
|
|
33
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* @deprecated Superseded by AuthCredentialWithPni + ProfileKeyCredential
|
|
50
|
+
*/
|
|
34
51
|
verifyPniCredentialPresentation(groupPublicParams, presentation) {
|
|
35
52
|
Native.ServerSecretParams_VerifyPniCredentialPresentation(this.serverSecretParams.getContents(), groupPublicParams.getContents(), presentation.getContents());
|
|
36
53
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import ByteArray from '../internal/ByteArray';
|
|
3
3
|
export default class ReceiptCredential extends ByteArray {
|
|
4
|
+
private readonly __type?;
|
|
4
5
|
constructor(contents: Buffer);
|
|
5
|
-
getReceiptExpirationTime():
|
|
6
|
+
getReceiptExpirationTime(): number;
|
|
6
7
|
getReceiptLevel(): bigint;
|
|
7
8
|
}
|
|
@@ -11,7 +11,7 @@ class ReceiptCredential extends ByteArray_1.default {
|
|
|
11
11
|
super(contents, Native.ReceiptCredential_CheckValidContents);
|
|
12
12
|
}
|
|
13
13
|
getReceiptExpirationTime() {
|
|
14
|
-
return Native.ReceiptCredential_GetReceiptExpirationTime(this.contents)
|
|
14
|
+
return Native.ReceiptCredential_GetReceiptExpirationTime(this.contents);
|
|
15
15
|
}
|
|
16
16
|
getReceiptLevel() {
|
|
17
17
|
return Native.ReceiptCredential_GetReceiptLevel(this.contents).readBigUInt64BE();
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
import ByteArray from '../internal/ByteArray';
|
|
3
3
|
import ReceiptSerial from './ReceiptSerial';
|
|
4
4
|
export default class ReceiptCredentialPresentation extends ByteArray {
|
|
5
|
+
private readonly __type?;
|
|
5
6
|
static SIZE: number;
|
|
6
7
|
constructor(contents: Buffer);
|
|
7
|
-
getReceiptExpirationTime():
|
|
8
|
+
getReceiptExpirationTime(): number;
|
|
8
9
|
getReceiptLevel(): bigint;
|
|
9
10
|
getReceiptSerialBytes(): ReceiptSerial;
|
|
10
11
|
}
|
|
@@ -12,7 +12,7 @@ class ReceiptCredentialPresentation extends ByteArray_1.default {
|
|
|
12
12
|
super(contents, Native.ReceiptCredentialPresentation_CheckValidContents);
|
|
13
13
|
}
|
|
14
14
|
getReceiptExpirationTime() {
|
|
15
|
-
return Native.ReceiptCredentialPresentation_GetReceiptExpirationTime(this.contents)
|
|
15
|
+
return Native.ReceiptCredentialPresentation_GetReceiptExpirationTime(this.contents);
|
|
16
16
|
}
|
|
17
17
|
getReceiptLevel() {
|
|
18
18
|
return Native.ReceiptCredentialPresentation_GetReceiptLevel(this.contents).readBigUInt64BE();
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import ByteArray from '../internal/ByteArray';
|
|
3
3
|
import ReceiptCredentialRequest from './ReceiptCredentialRequest';
|
|
4
4
|
export default class ReceiptCredentialRequestContext extends ByteArray {
|
|
5
|
+
private readonly __type?;
|
|
5
6
|
static SIZE: number;
|
|
6
7
|
constructor(contents: Buffer);
|
|
7
8
|
getRequest(): ReceiptCredentialRequest;
|
|
@@ -6,7 +6,7 @@ import ReceiptCredentialPresentation from './ReceiptCredentialPresentation';
|
|
|
6
6
|
export default class ServerZkReceiptOperations {
|
|
7
7
|
serverSecretParams: ServerSecretParams;
|
|
8
8
|
constructor(serverSecretParams: ServerSecretParams);
|
|
9
|
-
issueReceiptCredential(receiptCredentialRequest: ReceiptCredentialRequest, receiptExpirationTime:
|
|
10
|
-
issueReceiptCredentialWithRandom(random: Buffer, receiptCredentialRequest: ReceiptCredentialRequest, receiptExpirationTime:
|
|
9
|
+
issueReceiptCredential(receiptCredentialRequest: ReceiptCredentialRequest, receiptExpirationTime: number, receiptLevel: bigint): ReceiptCredentialResponse;
|
|
10
|
+
issueReceiptCredentialWithRandom(random: Buffer, receiptCredentialRequest: ReceiptCredentialRequest, receiptExpirationTime: number, receiptLevel: bigint): ReceiptCredentialResponse;
|
|
11
11
|
verifyReceiptCredentialPresentation(receiptCredentialPresentation: ReceiptCredentialPresentation): void;
|
|
12
12
|
}
|
|
@@ -18,7 +18,7 @@ class ServerZkReceiptOperations {
|
|
|
18
18
|
return this.issueReceiptCredentialWithRandom(random, receiptCredentialRequest, receiptExpirationTime, receiptLevel);
|
|
19
19
|
}
|
|
20
20
|
issueReceiptCredentialWithRandom(random, receiptCredentialRequest, receiptExpirationTime, receiptLevel) {
|
|
21
|
-
return new ReceiptCredentialResponse_1.default(Native.ServerSecretParams_IssueReceiptCredentialDeterministic(this.serverSecretParams.getContents(), random, receiptCredentialRequest.getContents(),
|
|
21
|
+
return new ReceiptCredentialResponse_1.default(Native.ServerSecretParams_IssueReceiptCredentialDeterministic(this.serverSecretParams.getContents(), random, receiptCredentialRequest.getContents(), receiptExpirationTime, (0, BigIntUtil_1.bufferFromBigUInt64BE)(receiptLevel)));
|
|
22
22
|
}
|
|
23
23
|
verifyReceiptCredentialPresentation(receiptCredentialPresentation) {
|
|
24
24
|
Native.ServerSecretParams_VerifyReceiptCredentialPresentation(this.serverSecretParams.getContents(), receiptCredentialPresentation.getContents());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signalapp/libsignal-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.1",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"build": "node-gyp build",
|
|
21
21
|
"tsc": "tsc -b",
|
|
22
22
|
"clean": "rimraf dist build prebuilds",
|
|
23
|
-
"test": "
|
|
23
|
+
"test": "mocha --recursive dist/test --require source-map-support/register",
|
|
24
24
|
"lint": "eslint . --ext .js,.jsx,.ts,.tsx",
|
|
25
25
|
"format": "p() { prettier ${@:- --write} '**/*.{css,js,json,md,scss,ts,tsx}'; }; p"
|
|
26
26
|
},
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/bindings": "^1.3.0",
|
|
33
|
-
"@types/chai": "^4.
|
|
33
|
+
"@types/chai": "^4.3.1",
|
|
34
34
|
"@types/chai-as-promised": "^7.1.3",
|
|
35
35
|
"@types/mocha": "^5.2.7",
|
|
36
36
|
"@types/node": "*",
|
|
@@ -39,19 +39,17 @@
|
|
|
39
39
|
"@typescript-eslint/parser": "^4.6.0",
|
|
40
40
|
"chai": "^4.2.0",
|
|
41
41
|
"chai-as-promised": "^7.1.1",
|
|
42
|
-
"electron": "13.3.0",
|
|
43
|
-
"electron-mocha": "^10.0",
|
|
44
42
|
"eslint": "^7.12.1",
|
|
45
43
|
"eslint-config-prettier": "^6.15.0",
|
|
46
44
|
"eslint-plugin-header": "^3.1.0",
|
|
47
45
|
"eslint-plugin-import": "^2.22.1",
|
|
48
46
|
"eslint-plugin-mocha": "^8.0.0",
|
|
49
47
|
"eslint-plugin-more": "^1.0.0",
|
|
50
|
-
"mocha": "
|
|
48
|
+
"mocha": "^9",
|
|
51
49
|
"node-gyp": "^8.4.1",
|
|
52
50
|
"prettier": "^1.19.1",
|
|
53
51
|
"rimraf": "^3.0.1",
|
|
54
52
|
"source-map-support": "^0.5.19",
|
|
55
|
-
"typescript": "4.
|
|
53
|
+
"typescript": "4.6.2"
|
|
56
54
|
}
|
|
57
55
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|