@lightsparkdev/core 0.2.2 → 0.2.3
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/CHANGELOG.md +10 -0
- package/README.md +4 -0
- package/package.json +14 -1
- package/dist/chunk-23X5L5S3.js +0 -604
- package/dist/chunk-4OZ5E62P.js +0 -608
- package/dist/chunk-5FD46UVI.js +0 -600
- package/dist/chunk-BAQMCJ7C.js +0 -630
- package/dist/chunk-GFTKZSHK.js +0 -627
- package/dist/chunk-I3HKDOEE.js +0 -627
- package/dist/chunk-J6LSW6XO.js +0 -601
- package/dist/chunk-JUD4MOOQ.js +0 -608
- package/dist/chunk-KX6HH6CX.js +0 -629
- package/dist/chunk-MZCDWVLH.js +0 -634
- package/dist/chunk-NY3BK66J.js +0 -624
- package/dist/chunk-Q7UUXZNC.js +0 -26
- package/dist/chunk-WT2HYC6Q.js +0 -601
- package/dist/chunk-YYVOX4YM.js +0 -600
- package/dist/chunk-ZUIUADXH.js +0 -616
- package/dist/crypto-rn-2BYOHLMG.js +0 -72
- package/dist/crypto-rn-2YV53C3B.js +0 -72
- package/dist/crypto-rn-3HFXYG7I.js +0 -75
- package/dist/crypto-rn-3HLWLVZS.js +0 -76
- package/dist/crypto-rn-3N3JTBLE.js +0 -83
- package/dist/crypto-rn-3OEMMMOD.js +0 -74
- package/dist/crypto-rn-5EZSRY5Y.js +0 -82
- package/dist/crypto-rn-5KM2YVOI.js +0 -82
- package/dist/crypto-rn-6335R2CU.js +0 -80
- package/dist/crypto-rn-6ZHSL7CX.js +0 -72
- package/dist/crypto-rn-7DWXMO2Q.js +0 -75
- package/dist/crypto-rn-7GTI374I.js +0 -81
- package/dist/crypto-rn-AXDY3LDG.js +0 -124
- package/dist/crypto-rn-BZ2KZ2YR.js +0 -68
- package/dist/crypto-rn-CAPL7MYC.js +0 -80
- package/dist/crypto-rn-CBAKEB7C.js +0 -68
- package/dist/crypto-rn-CBWHV2F5.js +0 -82
- package/dist/crypto-rn-CS36MQ4X.js +0 -77
- package/dist/crypto-rn-E4RZNGIB.js +0 -82
- package/dist/crypto-rn-H4NIT5CT.js +0 -70
- package/dist/crypto-rn-IAC27WLZ.js +0 -74
- package/dist/crypto-rn-LLY6FCWE.js +0 -82
- package/dist/crypto-rn-MOWVVG3L.js +0 -78
- package/dist/crypto-rn-OAPLHNM5.js +0 -73
- package/dist/crypto-rn-PVAG5TVH.js +0 -80
- package/dist/crypto-rn-QLVBL5DI.js +0 -75
- package/dist/crypto-rn-TBKXR3SR.js +0 -68
- package/dist/crypto-rn-TSQJA6A3.js +0 -81
- package/dist/crypto-rn-U3XEJXIM.js +0 -77
- package/dist/crypto-rn-UHTZEVAR.js +0 -74
- package/dist/crypto-rn-V3ZNQSFI.js +0 -79
- package/dist/crypto-rn-VGNP6VZW.js +0 -75
- package/dist/crypto-rn-XMYCUEGV.js +0 -72
- package/dist/crypto-rn-YPOTC5RI.js +0 -73
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
LightsparkException_default,
|
|
3
|
-
LightsparkSigningException_default
|
|
4
|
-
} from "./chunk-Q7UUXZNC.js";
|
|
5
|
-
|
|
6
|
-
// src/crypto/crypto-rn.ts
|
|
7
|
-
import QuickCrypto from "react-native-quick-crypto";
|
|
8
|
-
var qCrypto = QuickCrypto;
|
|
9
|
-
var getRandomValues32 = async (arr) => {
|
|
10
|
-
return qCrypto.getRandomValues(arr);
|
|
11
|
-
};
|
|
12
|
-
async function decryptSecretWithNodePassword(cipher, encryptedSecret, nodePassword) {
|
|
13
|
-
throw new LightsparkException_default(
|
|
14
|
-
"NOT_IMPLEMENTED",
|
|
15
|
-
"Recovering the signing key is not yet supported in React Native."
|
|
16
|
-
);
|
|
17
|
-
}
|
|
18
|
-
var generateSigningKeyPair = async () => {
|
|
19
|
-
return new Promise((resolve, reject) => {
|
|
20
|
-
console.info("Generating signing key pair");
|
|
21
|
-
qCrypto.generateKeyPair(
|
|
22
|
-
"rsa-pss",
|
|
23
|
-
{
|
|
24
|
-
modulusLength: 4096,
|
|
25
|
-
// hashAlgorithm: "SHA-256",
|
|
26
|
-
publicKeyEncoding: {
|
|
27
|
-
type: "spki",
|
|
28
|
-
format: "pem"
|
|
29
|
-
},
|
|
30
|
-
privateKeyEncoding: {
|
|
31
|
-
type: "pkcs8",
|
|
32
|
-
format: "pem"
|
|
33
|
-
}
|
|
34
|
-
},
|
|
35
|
-
(error, pubKey, privKey) => {
|
|
36
|
-
console.info("Got generate result: ", error, pubKey, privKey);
|
|
37
|
-
if (error || !pubKey || !privKey) {
|
|
38
|
-
reject(error);
|
|
39
|
-
} else {
|
|
40
|
-
resolve({ publicKey: pubKey, privateKey: privKey });
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
);
|
|
44
|
-
});
|
|
45
|
-
};
|
|
46
|
-
var serializeSigningKey = async (key, format) => {
|
|
47
|
-
if (key instanceof Uint8Array) {
|
|
48
|
-
return key.buffer;
|
|
49
|
-
}
|
|
50
|
-
throw new LightsparkException_default(
|
|
51
|
-
"NOT_IMPLEMENTED",
|
|
52
|
-
"Cannot serialize a signing key in React Native. The keys you get from generateSigningKeyPair are already serialized buffers."
|
|
53
|
-
);
|
|
54
|
-
};
|
|
55
|
-
var getNonce = async () => {
|
|
56
|
-
const nonceSt = await getRandomValues32(new Uint32Array(1));
|
|
57
|
-
return Number(nonceSt);
|
|
58
|
-
};
|
|
59
|
-
var sign = (key, data) => {
|
|
60
|
-
return new Promise((resolve, reject) => {
|
|
61
|
-
qCrypto.sign("rsa-pss", data, key, (error, data2) => {
|
|
62
|
-
if (error || !data2) {
|
|
63
|
-
reject(error);
|
|
64
|
-
} else {
|
|
65
|
-
resolve(data2);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
};
|
|
70
|
-
var importPrivateSigningKey = async (keyData, format) => {
|
|
71
|
-
return Promise.resolve(keyData);
|
|
72
|
-
};
|
|
73
|
-
export {
|
|
74
|
-
LightsparkSigningException_default as LightsparkSigningException,
|
|
75
|
-
decryptSecretWithNodePassword,
|
|
76
|
-
generateSigningKeyPair,
|
|
77
|
-
getNonce,
|
|
78
|
-
importPrivateSigningKey,
|
|
79
|
-
serializeSigningKey,
|
|
80
|
-
sign
|
|
81
|
-
};
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
LightsparkException_default,
|
|
3
|
-
LightsparkSigningException_default
|
|
4
|
-
} from "./chunk-Q7UUXZNC.js";
|
|
5
|
-
|
|
6
|
-
// src/crypto/crypto-rn.ts
|
|
7
|
-
import QuickCrypto from "react-native-quick-crypto";
|
|
8
|
-
var qCrypto = QuickCrypto;
|
|
9
|
-
var getRandomValues32 = async (arr) => {
|
|
10
|
-
return qCrypto.getRandomValues(arr);
|
|
11
|
-
};
|
|
12
|
-
async function decryptSecretWithNodePassword(cipher, encryptedSecret, nodePassword) {
|
|
13
|
-
throw new LightsparkException_default(
|
|
14
|
-
"NOT_IMPLEMENTED",
|
|
15
|
-
"Recovering the signing key is not yet supported in React Native."
|
|
16
|
-
);
|
|
17
|
-
}
|
|
18
|
-
var generateSigningKeyPair = async () => {
|
|
19
|
-
return new Promise((resolve, reject) => {
|
|
20
|
-
console.info("Generating signing key pair");
|
|
21
|
-
const keypair = qCrypto.generateKeyPairSync("rsa-pss", {
|
|
22
|
-
modulusLength: 4096,
|
|
23
|
-
publicKeyEncoding: {
|
|
24
|
-
type: "spki",
|
|
25
|
-
format: "pem"
|
|
26
|
-
},
|
|
27
|
-
privateKeyEncoding: {
|
|
28
|
-
type: "pkcs8",
|
|
29
|
-
format: "pem"
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
resolve({
|
|
33
|
-
publicKey: keypair.publicKey.slice(27, keypair.publicKey.length - 25),
|
|
34
|
-
privateKey: keypair.privateKey.slice(28, keypair.publicKey.length - 26)
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
var serializeSigningKey = async (key, format) => {
|
|
39
|
-
throw new LightsparkException_default(
|
|
40
|
-
"NOT_IMPLEMENTED",
|
|
41
|
-
"Cannot serialize a signing key in React Native. The keys you get from generateSigningKeyPair are already serialized buffers."
|
|
42
|
-
);
|
|
43
|
-
};
|
|
44
|
-
var getNonce = async () => {
|
|
45
|
-
const nonceSt = await getRandomValues32(new Uint32Array(1));
|
|
46
|
-
return Number(nonceSt);
|
|
47
|
-
};
|
|
48
|
-
var sign = (key, data) => {
|
|
49
|
-
return new Promise((resolve, reject) => {
|
|
50
|
-
console.info("Signing data");
|
|
51
|
-
const sign2 = qCrypto.createSign("SHA256");
|
|
52
|
-
sign2.update(data, "utf8");
|
|
53
|
-
const signature = sign2.sign({
|
|
54
|
-
key: qCrypto.createPrivateKey(key).export({
|
|
55
|
-
format: "pem",
|
|
56
|
-
type: "pkcs8"
|
|
57
|
-
}),
|
|
58
|
-
// type: "pkcs8",
|
|
59
|
-
// format: "pem",
|
|
60
|
-
padding: qCrypto.constants.RSA_PKCS1_PSS_PADDING,
|
|
61
|
-
saltLength: qCrypto.constants.RSA_PSS_SALTLEN_MAX_SIGN
|
|
62
|
-
});
|
|
63
|
-
resolve(signature);
|
|
64
|
-
});
|
|
65
|
-
};
|
|
66
|
-
var importPrivateSigningKey = async (keyData, format) => {
|
|
67
|
-
return Promise.resolve(keyData);
|
|
68
|
-
};
|
|
69
|
-
export {
|
|
70
|
-
LightsparkSigningException_default as LightsparkSigningException,
|
|
71
|
-
decryptSecretWithNodePassword,
|
|
72
|
-
generateSigningKeyPair,
|
|
73
|
-
getNonce,
|
|
74
|
-
importPrivateSigningKey,
|
|
75
|
-
serializeSigningKey,
|
|
76
|
-
sign
|
|
77
|
-
};
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
LightsparkException_default,
|
|
3
|
-
LightsparkSigningException_default
|
|
4
|
-
} from "./chunk-Q7UUXZNC.js";
|
|
5
|
-
|
|
6
|
-
// src/crypto/crypto-rn.ts
|
|
7
|
-
import QuickCrypto from "react-native-quick-crypto";
|
|
8
|
-
var qCrypto = QuickCrypto;
|
|
9
|
-
var getRandomValues32 = async (arr) => {
|
|
10
|
-
return qCrypto.getRandomValues(arr);
|
|
11
|
-
};
|
|
12
|
-
async function decryptSecretWithNodePassword(cipher, encryptedSecret, nodePassword) {
|
|
13
|
-
throw new LightsparkException_default(
|
|
14
|
-
"NOT_IMPLEMENTED",
|
|
15
|
-
"Recovering the signing key is not yet supported in React Native."
|
|
16
|
-
);
|
|
17
|
-
}
|
|
18
|
-
var generateSigningKeyPair = async () => {
|
|
19
|
-
return new Promise((resolve, reject) => {
|
|
20
|
-
console.info("Generating signing key pair");
|
|
21
|
-
const keypair = qCrypto.generateKeyPairSync("rsa-pss", {
|
|
22
|
-
modulusLength: 4096,
|
|
23
|
-
publicKeyEncoding: {
|
|
24
|
-
type: "spki",
|
|
25
|
-
format: "pem"
|
|
26
|
-
},
|
|
27
|
-
privateKeyEncoding: {
|
|
28
|
-
type: "pkcs8",
|
|
29
|
-
format: "pem"
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
resolve({
|
|
33
|
-
publicKey: keypair.publicKey.slice(27, keypair.publicKey.length - 25),
|
|
34
|
-
privateKey: keypair.privateKey.slice(28, keypair.publicKey.length - 26)
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
var serializeSigningKey = async (key, format) => {
|
|
39
|
-
throw new LightsparkException_default(
|
|
40
|
-
"NOT_IMPLEMENTED",
|
|
41
|
-
"Cannot serialize a signing key in React Native. The keys you get from generateSigningKeyPair are already serialized buffers."
|
|
42
|
-
);
|
|
43
|
-
};
|
|
44
|
-
var getNonce = async () => {
|
|
45
|
-
const nonceSt = await getRandomValues32(new Uint32Array(1));
|
|
46
|
-
return Number(nonceSt);
|
|
47
|
-
};
|
|
48
|
-
var sign = (key, data) => {
|
|
49
|
-
return new Promise((resolve, reject) => {
|
|
50
|
-
console.info("Signing data");
|
|
51
|
-
const sign2 = qCrypto.createSign("SHA256");
|
|
52
|
-
sign2.update(data, "utf8");
|
|
53
|
-
const signature = sign2.sign({
|
|
54
|
-
key: Buffer.from(key.buffer),
|
|
55
|
-
type: "pkcs8",
|
|
56
|
-
format: "pem",
|
|
57
|
-
padding: qCrypto.constants.RSA_PKCS1_PSS_PADDING,
|
|
58
|
-
saltLength: qCrypto.constants.RSA_PSS_SALTLEN_MAX_SIGN
|
|
59
|
-
});
|
|
60
|
-
resolve(signature);
|
|
61
|
-
});
|
|
62
|
-
};
|
|
63
|
-
var importPrivateSigningKey = async (keyData, format) => {
|
|
64
|
-
return Promise.resolve(keyData);
|
|
65
|
-
};
|
|
66
|
-
export {
|
|
67
|
-
LightsparkSigningException_default as LightsparkSigningException,
|
|
68
|
-
decryptSecretWithNodePassword,
|
|
69
|
-
generateSigningKeyPair,
|
|
70
|
-
getNonce,
|
|
71
|
-
importPrivateSigningKey,
|
|
72
|
-
serializeSigningKey,
|
|
73
|
-
sign
|
|
74
|
-
};
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
LightsparkException_default,
|
|
3
|
-
LightsparkSigningException_default
|
|
4
|
-
} from "./chunk-Q7UUXZNC.js";
|
|
5
|
-
|
|
6
|
-
// src/crypto/crypto-rn.ts
|
|
7
|
-
import QuickCrypto from "react-native-quick-crypto";
|
|
8
|
-
var qCrypto = QuickCrypto;
|
|
9
|
-
var getRandomValues32 = async (arr) => {
|
|
10
|
-
return qCrypto.getRandomValues(arr);
|
|
11
|
-
};
|
|
12
|
-
async function decryptSecretWithNodePassword(cipher, encryptedSecret, nodePassword) {
|
|
13
|
-
throw new LightsparkException_default(
|
|
14
|
-
"NOT_IMPLEMENTED",
|
|
15
|
-
"Recovering the signing key is not yet supported in React Native."
|
|
16
|
-
);
|
|
17
|
-
}
|
|
18
|
-
var generateSigningKeyPair = async () => {
|
|
19
|
-
return new Promise((resolve, reject) => {
|
|
20
|
-
console.info("Generating signing key pair");
|
|
21
|
-
const keypair = qCrypto.generateKeyPairSync("rsa-pss", {
|
|
22
|
-
modulusLength: 4096,
|
|
23
|
-
publicKeyEncoding: {
|
|
24
|
-
type: "spki",
|
|
25
|
-
format: "pem"
|
|
26
|
-
},
|
|
27
|
-
privateKeyEncoding: {
|
|
28
|
-
type: "pkcs8",
|
|
29
|
-
format: "pem"
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
resolve({
|
|
33
|
-
publicKey: keypair.publicKey.slice(27, keypair.publicKey.length - 25),
|
|
34
|
-
privateKey: keypair.privateKey.slice(28, keypair.publicKey.length - 26)
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
var serializeSigningKey = async (key, format) => {
|
|
39
|
-
throw new LightsparkException_default(
|
|
40
|
-
"NOT_IMPLEMENTED",
|
|
41
|
-
"Cannot serialize a signing key in React Native. The keys you get from generateSigningKeyPair are already serialized buffers."
|
|
42
|
-
);
|
|
43
|
-
};
|
|
44
|
-
var getNonce = async () => {
|
|
45
|
-
const nonceSt = await getRandomValues32(new Uint32Array(1));
|
|
46
|
-
return Number(nonceSt);
|
|
47
|
-
};
|
|
48
|
-
var sign = (key, data) => {
|
|
49
|
-
return new Promise((resolve, reject) => {
|
|
50
|
-
console.info("Signing data");
|
|
51
|
-
const sign2 = qCrypto.createSign("SHA256");
|
|
52
|
-
sign2.update(data, "utf8");
|
|
53
|
-
console.log(Object.keys(qCrypto));
|
|
54
|
-
console.log("createPrivateKey", qCrypto.createPrivateKey);
|
|
55
|
-
const signature = sign2.sign({
|
|
56
|
-
key: qCrypto.createPrivateKey(key).export({
|
|
57
|
-
format: "pem",
|
|
58
|
-
type: "pkcs8"
|
|
59
|
-
}),
|
|
60
|
-
// type: "pkcs8",
|
|
61
|
-
// format: "pem",
|
|
62
|
-
padding: qCrypto.constants.RSA_PKCS1_PSS_PADDING,
|
|
63
|
-
saltLength: qCrypto.constants.RSA_PSS_SALTLEN_MAX_SIGN
|
|
64
|
-
});
|
|
65
|
-
resolve(signature);
|
|
66
|
-
});
|
|
67
|
-
};
|
|
68
|
-
var importPrivateSigningKey = async (keyData, format) => {
|
|
69
|
-
return Promise.resolve(keyData);
|
|
70
|
-
};
|
|
71
|
-
export {
|
|
72
|
-
LightsparkSigningException_default as LightsparkSigningException,
|
|
73
|
-
decryptSecretWithNodePassword,
|
|
74
|
-
generateSigningKeyPair,
|
|
75
|
-
getNonce,
|
|
76
|
-
importPrivateSigningKey,
|
|
77
|
-
serializeSigningKey,
|
|
78
|
-
sign
|
|
79
|
-
};
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
LightsparkException_default,
|
|
3
|
-
LightsparkSigningException_default,
|
|
4
|
-
b64encode
|
|
5
|
-
} from "./chunk-NY3BK66J.js";
|
|
6
|
-
|
|
7
|
-
// src/crypto/crypto-rn.ts
|
|
8
|
-
import QuickCrypto from "react-native-quick-crypto";
|
|
9
|
-
var qCrypto = QuickCrypto;
|
|
10
|
-
var getRandomValues32 = async (arr) => {
|
|
11
|
-
return qCrypto.getRandomValues(arr);
|
|
12
|
-
};
|
|
13
|
-
async function decryptSecretWithNodePassword(cipher, encryptedSecret, nodePassword) {
|
|
14
|
-
throw new LightsparkException_default(
|
|
15
|
-
"NOT_IMPLEMENTED",
|
|
16
|
-
"Recovering the signing key is not yet supported in React Native."
|
|
17
|
-
);
|
|
18
|
-
}
|
|
19
|
-
var generateSigningKeyPair = async () => {
|
|
20
|
-
return new Promise((resolve, reject) => {
|
|
21
|
-
console.info("Generating signing key pair");
|
|
22
|
-
const keypair = qCrypto.generateKeyPairSync("rsa-pss", {
|
|
23
|
-
modulusLength: 4096,
|
|
24
|
-
publicKeyEncoding: {
|
|
25
|
-
type: "spki",
|
|
26
|
-
format: "pem"
|
|
27
|
-
},
|
|
28
|
-
privateKeyEncoding: {
|
|
29
|
-
type: "pkcs8",
|
|
30
|
-
format: "pem"
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
resolve({
|
|
34
|
-
publicKey: keypair.publicKey.slice(27, keypair.publicKey.length - 25),
|
|
35
|
-
privateKey: keypair.privateKey.slice(28, keypair.publicKey.length - 26)
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
var serializeSigningKey = async (key, format) => {
|
|
40
|
-
throw new LightsparkException_default(
|
|
41
|
-
"NOT_IMPLEMENTED",
|
|
42
|
-
"Cannot serialize a signing key in React Native. The keys you get from generateSigningKeyPair are already serialized buffers."
|
|
43
|
-
);
|
|
44
|
-
};
|
|
45
|
-
var getNonce = async () => {
|
|
46
|
-
const nonceSt = await getRandomValues32(new Uint32Array(1));
|
|
47
|
-
return Number(nonceSt);
|
|
48
|
-
};
|
|
49
|
-
var sign = (key, data) => {
|
|
50
|
-
return new Promise((resolve, reject) => {
|
|
51
|
-
console.info("Signing data");
|
|
52
|
-
const sign2 = qCrypto.createSign("SHA256");
|
|
53
|
-
sign2.update(data, "utf8");
|
|
54
|
-
const signature = sign2.sign({
|
|
55
|
-
key: b64encode(key),
|
|
56
|
-
format: "pkcs8",
|
|
57
|
-
type: "rsa-pss",
|
|
58
|
-
padding: qCrypto.constants.RSA_PKCS1_PSS_PADDING,
|
|
59
|
-
saltLength: qCrypto.constants.RSA_PSS_SALTLEN_MAX_SIGN
|
|
60
|
-
});
|
|
61
|
-
resolve(signature);
|
|
62
|
-
});
|
|
63
|
-
};
|
|
64
|
-
var importPrivateSigningKey = async (keyData, format) => {
|
|
65
|
-
return Promise.resolve(keyData);
|
|
66
|
-
};
|
|
67
|
-
export {
|
|
68
|
-
LightsparkSigningException_default as LightsparkSigningException,
|
|
69
|
-
decryptSecretWithNodePassword,
|
|
70
|
-
generateSigningKeyPair,
|
|
71
|
-
getNonce,
|
|
72
|
-
importPrivateSigningKey,
|
|
73
|
-
serializeSigningKey,
|
|
74
|
-
sign
|
|
75
|
-
};
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
LightsparkException_default,
|
|
3
|
-
LightsparkSigningException_default
|
|
4
|
-
} from "./chunk-Q7UUXZNC.js";
|
|
5
|
-
|
|
6
|
-
// src/crypto/crypto-rn.ts
|
|
7
|
-
import QuickCrypto from "react-native-quick-crypto";
|
|
8
|
-
var qCrypto = QuickCrypto;
|
|
9
|
-
var getRandomValues32 = async (arr) => {
|
|
10
|
-
return qCrypto.getRandomValues(arr);
|
|
11
|
-
};
|
|
12
|
-
async function decryptSecretWithNodePassword(cipher, encryptedSecret, nodePassword) {
|
|
13
|
-
throw new LightsparkException_default(
|
|
14
|
-
"NOT_IMPLEMENTED",
|
|
15
|
-
"Recovering the signing key is not yet supported in React Native."
|
|
16
|
-
);
|
|
17
|
-
}
|
|
18
|
-
var generateSigningKeyPair = async () => {
|
|
19
|
-
return new Promise((resolve, reject) => {
|
|
20
|
-
console.info("Generating signing key pair");
|
|
21
|
-
const keypair = qCrypto.generateKeyPairSync("rsa-pss", {
|
|
22
|
-
modulusLength: 4096,
|
|
23
|
-
publicKeyEncoding: {
|
|
24
|
-
type: "spki",
|
|
25
|
-
format: "pem"
|
|
26
|
-
},
|
|
27
|
-
privateKeyEncoding: {
|
|
28
|
-
type: "pkcs8",
|
|
29
|
-
format: "pem"
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
resolve({
|
|
33
|
-
publicKey: keypair.publicKey.slice(27, keypair.publicKey.length - 25),
|
|
34
|
-
privateKey: keypair.privateKey.slice(28, keypair.publicKey.length - 26)
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
var serializeSigningKey = async (key, format) => {
|
|
39
|
-
throw new LightsparkException_default(
|
|
40
|
-
"NOT_IMPLEMENTED",
|
|
41
|
-
"Cannot serialize a signing key in React Native. The keys you get from generateSigningKeyPair are already serialized buffers."
|
|
42
|
-
);
|
|
43
|
-
};
|
|
44
|
-
var getNonce = async () => {
|
|
45
|
-
const nonceSt = await getRandomValues32(new Uint32Array(1));
|
|
46
|
-
return Number(nonceSt);
|
|
47
|
-
};
|
|
48
|
-
var sign = (key, data) => {
|
|
49
|
-
return new Promise((resolve, reject) => {
|
|
50
|
-
console.info("Signing data");
|
|
51
|
-
const sign2 = qCrypto.createSign("SHA256");
|
|
52
|
-
sign2.update(data, "utf8");
|
|
53
|
-
const signature = sign2.sign({
|
|
54
|
-
key,
|
|
55
|
-
padding: qCrypto.constants.RSA_PKCS1_PSS_PADDING,
|
|
56
|
-
saltLength: qCrypto.constants.RSA_PSS_SALTLEN_MAX_SIGN
|
|
57
|
-
});
|
|
58
|
-
resolve(signature);
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
var importPrivateSigningKey = async (keyData, format) => {
|
|
62
|
-
return Promise.resolve(keyData);
|
|
63
|
-
};
|
|
64
|
-
export {
|
|
65
|
-
LightsparkSigningException_default as LightsparkSigningException,
|
|
66
|
-
decryptSecretWithNodePassword,
|
|
67
|
-
generateSigningKeyPair,
|
|
68
|
-
getNonce,
|
|
69
|
-
importPrivateSigningKey,
|
|
70
|
-
serializeSigningKey,
|
|
71
|
-
sign
|
|
72
|
-
};
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
LightsparkException_default,
|
|
3
|
-
LightsparkSigningException_default
|
|
4
|
-
} from "./chunk-Q7UUXZNC.js";
|
|
5
|
-
|
|
6
|
-
// src/crypto/crypto-rn.ts
|
|
7
|
-
import QuickCrypto from "react-native-quick-crypto";
|
|
8
|
-
var qCrypto = QuickCrypto;
|
|
9
|
-
var getRandomValues32 = async (arr) => {
|
|
10
|
-
return qCrypto.getRandomValues(arr);
|
|
11
|
-
};
|
|
12
|
-
async function decryptSecretWithNodePassword(cipher, encryptedSecret, nodePassword) {
|
|
13
|
-
throw new LightsparkException_default(
|
|
14
|
-
"NOT_IMPLEMENTED",
|
|
15
|
-
"Recovering the signing key is not yet supported in React Native."
|
|
16
|
-
);
|
|
17
|
-
}
|
|
18
|
-
var generateSigningKeyPair = async () => {
|
|
19
|
-
return new Promise((resolve, reject) => {
|
|
20
|
-
console.info("Generating signing key pair");
|
|
21
|
-
const keypair = qCrypto.generateKeyPairSync("rsa-pss", {
|
|
22
|
-
modulusLength: 4096,
|
|
23
|
-
publicKeyEncoding: {
|
|
24
|
-
type: "spki",
|
|
25
|
-
format: "pem"
|
|
26
|
-
},
|
|
27
|
-
privateKeyEncoding: {
|
|
28
|
-
type: "pkcs8",
|
|
29
|
-
format: "pem"
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
resolve({
|
|
33
|
-
publicKey: keypair.publicKey.slice(27, keypair.publicKey.length - 25),
|
|
34
|
-
privateKey: keypair.privateKey.slice(28, keypair.publicKey.length - 26)
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
var serializeSigningKey = async (key, format) => {
|
|
39
|
-
throw new LightsparkException_default(
|
|
40
|
-
"NOT_IMPLEMENTED",
|
|
41
|
-
"Cannot serialize a signing key in React Native. The keys you get from generateSigningKeyPair are already serialized buffers."
|
|
42
|
-
);
|
|
43
|
-
};
|
|
44
|
-
var getNonce = async () => {
|
|
45
|
-
const nonceSt = await getRandomValues32(new Uint32Array(1));
|
|
46
|
-
return Number(nonceSt);
|
|
47
|
-
};
|
|
48
|
-
var sign = (key, data) => {
|
|
49
|
-
return new Promise((resolve, reject) => {
|
|
50
|
-
console.info("Signing data");
|
|
51
|
-
const sign2 = qCrypto.createSign("SHA256");
|
|
52
|
-
sign2.update(data, "utf8");
|
|
53
|
-
const signature = sign2.sign({
|
|
54
|
-
key: Buffer.from(key.buffer),
|
|
55
|
-
format: "pkcs8",
|
|
56
|
-
padding: qCrypto.constants.RSA_PKCS1_PSS_PADDING,
|
|
57
|
-
saltLength: qCrypto.constants.RSA_PSS_SALTLEN_MAX_SIGN
|
|
58
|
-
});
|
|
59
|
-
resolve(signature);
|
|
60
|
-
});
|
|
61
|
-
};
|
|
62
|
-
var importPrivateSigningKey = async (keyData, format) => {
|
|
63
|
-
return Promise.resolve(keyData);
|
|
64
|
-
};
|
|
65
|
-
export {
|
|
66
|
-
LightsparkSigningException_default as LightsparkSigningException,
|
|
67
|
-
decryptSecretWithNodePassword,
|
|
68
|
-
generateSigningKeyPair,
|
|
69
|
-
getNonce,
|
|
70
|
-
importPrivateSigningKey,
|
|
71
|
-
serializeSigningKey,
|
|
72
|
-
sign
|
|
73
|
-
};
|