@turnkey/http 0.8.1 → 0.10.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.
- package/CHANGELOG.md +12 -0
- package/dist/base.d.ts.map +1 -1
- package/dist/base.js +1 -2
- package/dist/base.js.map +1 -1
- package/dist/encoding.d.ts +4 -2
- package/dist/encoding.d.ts.map +1 -1
- package/dist/encoding.js +9 -3
- package/dist/encoding.js.map +1 -1
- package/dist/shared.d.ts +9 -0
- package/dist/shared.d.ts.map +1 -1
- package/dist/stamp.node.d.ts +3 -0
- package/dist/stamp.node.d.ts.map +1 -0
- package/dist/stamp.node.js +51 -0
- package/dist/stamp.node.js.map +1 -0
- package/dist/stamp.webcrypto.d.ts +4 -0
- package/dist/stamp.webcrypto.d.ts.map +1 -0
- package/dist/{stamp.js → stamp.webcrypto.js} +8 -15
- package/dist/stamp.webcrypto.js.map +1 -0
- package/dist/universal.d.ts +4 -6
- package/dist/universal.d.ts.map +1 -1
- package/dist/universal.js +17 -5
- package/dist/universal.js.map +1 -1
- package/package.json +1 -1
- package/dist/stamp.d.ts +0 -10
- package/dist/stamp.d.ts.map +0 -1
- package/dist/stamp.js.map +0 -1
package/CHANGELOG.md
CHANGED
package/dist/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAIA,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AAClE,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;AAC5D,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACtC,KAAK,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAQ9C,wBAAsB,OAAO,CAC3B,YAAY,GAAG,KAAK,EACpB,CAAC,SAAS,UAAU,GAAG,KAAK,EAC5B,CAAC,SAAS,WAAW,GAAG,KAAK,EAC7B,CAAC,SAAS,kBAAkB,GAAG,KAAK,EACpC,CAAC,SAAS,aAAa,GAAG,KAAK,EAC/B,KAAK,EAAE;IACP,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,YAAY,CAAC,EAAE,CAAC,CAAC;CAClB,GAAG,OAAO,CAAC,YAAY,CAAC,CA2DxB;AA8DD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAElE"}
|
package/dist/base.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.stableStringify = exports.request = void 0;
|
|
4
4
|
const universal_1 = require("./universal");
|
|
5
|
-
const stamp_1 = require("./stamp");
|
|
6
5
|
const config_1 = require("./config");
|
|
7
6
|
const encoding_1 = require("./encoding");
|
|
8
7
|
const sharedHeaders = {};
|
|
@@ -18,7 +17,7 @@ async function request(input) {
|
|
|
18
17
|
substitution: inputSubstitution,
|
|
19
18
|
});
|
|
20
19
|
const sealedBody = stableStringify(inputBody);
|
|
21
|
-
const sealedStamp = stableStringify(await (0,
|
|
20
|
+
const sealedStamp = stableStringify(await (0, universal_1.stamp)({
|
|
22
21
|
content: sealedBody,
|
|
23
22
|
privateKey: apiPrivateKey,
|
|
24
23
|
publicKey: apiPublicKey,
|
package/dist/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
|
package/dist/encoding.d.ts
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export declare function stringToBase64urlString(input: string): string;
|
|
5
5
|
export declare function uint8ArrayToHexString(input: Uint8Array): string;
|
|
6
|
-
export declare function
|
|
7
|
-
|
|
6
|
+
export declare function convertTurnkeyApiKeyToJwk(input: {
|
|
7
|
+
uncompressedPrivateKeyHex: string;
|
|
8
|
+
compressedPublicKeyHex: string;
|
|
9
|
+
}): JsonWebKey;
|
|
8
10
|
//# sourceMappingURL=encoding.d.ts.map
|
package/dist/encoding.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../src/encoding.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../src/encoding.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAY7D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAK/D;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,yBAAyB,EAAE,MAAM,CAAC;IAClC,sBAAsB,EAAE,MAAM,CAAC;CAChC,GAAG,UAAU,CAQb"}
|
package/dist/encoding.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.convertTurnkeyApiKeyToJwk = exports.uint8ArrayToHexString = exports.stringToBase64urlString = void 0;
|
|
4
|
+
const elliptic_curves_1 = require("./tink/elliptic_curves");
|
|
4
5
|
/**
|
|
5
6
|
* Code modified from https://github.com/github/webauthn-json/blob/e932b3585fa70b0bd5b5a4012ba7dbad7b0a0d0f/src/webauthn-json/base64url.ts#L23
|
|
6
7
|
*/
|
|
@@ -20,6 +21,13 @@ function uint8ArrayToHexString(input) {
|
|
|
20
21
|
return input.reduce((result, x) => result + x.toString(16).padStart(2, "0"), "");
|
|
21
22
|
}
|
|
22
23
|
exports.uint8ArrayToHexString = uint8ArrayToHexString;
|
|
24
|
+
function convertTurnkeyApiKeyToJwk(input) {
|
|
25
|
+
const { uncompressedPrivateKeyHex, compressedPublicKeyHex } = input;
|
|
26
|
+
const jwk = (0, elliptic_curves_1.pointDecode)(hexStringToUint8Array(compressedPublicKeyHex));
|
|
27
|
+
jwk.d = hexStringToBase64urlString(uncompressedPrivateKeyHex);
|
|
28
|
+
return jwk;
|
|
29
|
+
}
|
|
30
|
+
exports.convertTurnkeyApiKeyToJwk = convertTurnkeyApiKeyToJwk;
|
|
23
31
|
function hexStringToUint8Array(input) {
|
|
24
32
|
if (input.length === 0 ||
|
|
25
33
|
input.length % 2 !== 0 ||
|
|
@@ -31,10 +39,8 @@ function hexStringToUint8Array(input) {
|
|
|
31
39
|
)
|
|
32
40
|
.map((byte) => parseInt(byte, 16)));
|
|
33
41
|
}
|
|
34
|
-
exports.hexStringToUint8Array = hexStringToUint8Array;
|
|
35
42
|
function hexStringToBase64urlString(input) {
|
|
36
43
|
const buffer = hexStringToUint8Array(input);
|
|
37
44
|
return stringToBase64urlString(buffer.reduce((result, x) => result + String.fromCharCode(x), ""));
|
|
38
45
|
}
|
|
39
|
-
exports.hexStringToBase64urlString = hexStringToBase64urlString;
|
|
40
46
|
//# sourceMappingURL=encoding.js.map
|
package/dist/encoding.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../src/encoding.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,SAAgB,uBAAuB,CAAC,KAAa;IACnD,mBAAmB;IACnB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAEjC,sBAAsB;IACtB,sDAAsD;IACtD,MAAM,eAAe,GAAG,YAAY;SACjC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAErB,OAAO,eAAe,CAAC;AACzB,CAAC;AAZD,0DAYC;AAED,SAAgB,qBAAqB,CAAC,KAAiB;IACrD,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EACvD,EAAE,CACH,CAAC;AACJ,CAAC;AALD,sDAKC;AAED,SAAgB,qBAAqB,CAAC,KAAa;
|
|
1
|
+
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../src/encoding.ts"],"names":[],"mappings":";;;AAAA,4DAAqD;AAErD;;GAEG;AACH,SAAgB,uBAAuB,CAAC,KAAa;IACnD,mBAAmB;IACnB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAEjC,sBAAsB;IACtB,sDAAsD;IACtD,MAAM,eAAe,GAAG,YAAY;SACjC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAErB,OAAO,eAAe,CAAC;AACzB,CAAC;AAZD,0DAYC;AAED,SAAgB,qBAAqB,CAAC,KAAiB;IACrD,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EACvD,EAAE,CACH,CAAC;AACJ,CAAC;AALD,sDAKC;AAED,SAAgB,yBAAyB,CAAC,KAGzC;IACC,MAAM,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,GAAG,KAAK,CAAC;IAEpE,MAAM,GAAG,GAAG,IAAA,6BAAW,EAAC,qBAAqB,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAEvE,GAAG,CAAC,CAAC,GAAG,0BAA0B,CAAC,yBAAyB,CAAC,CAAC;IAE9D,OAAO,GAAG,CAAC;AACb,CAAC;AAXD,8DAWC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;QACtB,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAC3B;QACA,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACjE;IAED,OAAO,UAAU,CAAC,IAAI,CACpB,KAAK;SACF,KAAK,CACJ,OAAO,CAAC,uCAAuC;KAC/C;SACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACrC,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa;IAC/C,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAE5C,OAAO,uBAAuB,CAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAClE,CAAC;AACJ,CAAC"}
|
package/dist/shared.d.ts
CHANGED
|
@@ -17,4 +17,13 @@ export declare class TurnkeyActivityError extends Error {
|
|
|
17
17
|
activityType?: TActivityType | null;
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
+
export type TStamper = (input: {
|
|
21
|
+
content: string;
|
|
22
|
+
publicKey: string;
|
|
23
|
+
privateKey: string;
|
|
24
|
+
}) => Promise<{
|
|
25
|
+
publicKey: string;
|
|
26
|
+
scheme: string;
|
|
27
|
+
signature: string;
|
|
28
|
+
}>;
|
|
20
29
|
//# sourceMappingURL=shared.d.ts.map
|
package/dist/shared.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iEAAiE,CAAC;AAEnG,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAC1C,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAE9C,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,eAAe,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;gBAER,KAAK,EAAE;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;QACrB,UAAU,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;QAChC,cAAc,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;QACxC,YAAY,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;KACrC;CAUF"}
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iEAAiE,CAAC;AAEnG,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAC1C,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAE9C,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,eAAe,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;gBAER,KAAK,EAAE;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;QACrB,UAAU,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;QAChC,cAAc,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;QACxC,YAAY,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;KACrC;CAUF;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,KAAK,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stamp.node.d.ts","sourceRoot":"","sources":["../src/stamp.node.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,KAAK,EAAE,QA4BnB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.stamp = void 0;
|
|
27
|
+
const crypto = __importStar(require("crypto"));
|
|
28
|
+
const encoding_1 = require("./encoding");
|
|
29
|
+
const stamp = async (input) => {
|
|
30
|
+
const { content, publicKey, privateKey } = input;
|
|
31
|
+
const privateKeyObject = crypto.createPrivateKey({
|
|
32
|
+
// @ts-expect-error -- the key can be a JWK object since Node v15.12.0
|
|
33
|
+
// https://nodejs.org/api/crypto.html#cryptocreateprivatekeykey
|
|
34
|
+
key: (0, encoding_1.convertTurnkeyApiKeyToJwk)({
|
|
35
|
+
uncompressedPrivateKeyHex: privateKey,
|
|
36
|
+
compressedPublicKeyHex: publicKey,
|
|
37
|
+
}),
|
|
38
|
+
format: "jwk",
|
|
39
|
+
});
|
|
40
|
+
const sign = crypto.createSign("SHA256");
|
|
41
|
+
sign.write(Buffer.from(content));
|
|
42
|
+
sign.end();
|
|
43
|
+
const signature = sign.sign(privateKeyObject, "hex");
|
|
44
|
+
return {
|
|
45
|
+
publicKey: publicKey,
|
|
46
|
+
scheme: "SIGNATURE_SCHEME_TK_API_P256",
|
|
47
|
+
signature: signature,
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
exports.stamp = stamp;
|
|
51
|
+
//# sourceMappingURL=stamp.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stamp.node.js","sourceRoot":"","sources":["../src/stamp.node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,yCAAuD;AAGhD,MAAM,KAAK,GAAa,KAAK,EAAE,KAIrC,EAAE,EAAE;IACH,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAEjD,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC/C,sEAAsE;QACtE,+DAA+D;QAC/D,GAAG,EAAE,IAAA,oCAAyB,EAAC;YAC7B,yBAAyB,EAAE,UAAU;YACrC,sBAAsB,EAAE,SAAS;SAClC,CAAC;QACF,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,EAAE,CAAC;IAEX,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAErD,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,8BAA8B;QACtC,SAAS,EAAE,SAAS;KACrB,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,KAAK,SA4BhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stamp.webcrypto.d.ts","sourceRoot":"","sources":["../src/stamp.webcrypto.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,KAAK,EAAE,QAkBnB,CAAC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/// <reference lib="dom" />
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.stamp = void 0;
|
|
4
|
-
const universal_1 = require("./universal");
|
|
5
5
|
const encoding_1 = require("./encoding");
|
|
6
|
-
const
|
|
7
|
-
async function stamp(input) {
|
|
6
|
+
const stamp = async (input) => {
|
|
8
7
|
const { content, publicKey, privateKey } = input;
|
|
9
8
|
const key = await importTurnkeyApiKey({
|
|
10
9
|
uncompressedPrivateKeyHex: privateKey,
|
|
@@ -16,15 +15,15 @@ async function stamp(input) {
|
|
|
16
15
|
scheme: "SIGNATURE_SCHEME_TK_API_P256",
|
|
17
16
|
signature: signature,
|
|
18
17
|
};
|
|
19
|
-
}
|
|
18
|
+
};
|
|
20
19
|
exports.stamp = stamp;
|
|
21
20
|
async function importTurnkeyApiKey(input) {
|
|
22
21
|
const { uncompressedPrivateKeyHex, compressedPublicKeyHex } = input;
|
|
23
|
-
const jwk = convertTurnkeyApiKeyToJwk({
|
|
22
|
+
const jwk = (0, encoding_1.convertTurnkeyApiKeyToJwk)({
|
|
24
23
|
uncompressedPrivateKeyHex,
|
|
25
24
|
compressedPublicKeyHex,
|
|
26
25
|
});
|
|
27
|
-
return await
|
|
26
|
+
return await crypto.subtle.importKey("jwk", jwk, {
|
|
28
27
|
name: "ECDSA",
|
|
29
28
|
namedCurve: "P-256",
|
|
30
29
|
}, false, // not extractable
|
|
@@ -33,19 +32,13 @@ async function importTurnkeyApiKey(input) {
|
|
|
33
32
|
}
|
|
34
33
|
async function signMessage(input) {
|
|
35
34
|
const { key, content } = input;
|
|
36
|
-
const signatureIeee1363 = await
|
|
35
|
+
const signatureIeee1363 = await crypto.subtle.sign({
|
|
37
36
|
name: "ECDSA",
|
|
38
37
|
hash: "SHA-256",
|
|
39
|
-
}, key, new
|
|
38
|
+
}, key, new TextEncoder().encode(content));
|
|
40
39
|
const signatureDer = convertEcdsaIeee1363ToDer(new Uint8Array(signatureIeee1363));
|
|
41
40
|
return (0, encoding_1.uint8ArrayToHexString)(signatureDer);
|
|
42
41
|
}
|
|
43
|
-
function convertTurnkeyApiKeyToJwk(input) {
|
|
44
|
-
const { uncompressedPrivateKeyHex, compressedPublicKeyHex } = input;
|
|
45
|
-
const jwk = (0, elliptic_curves_1.pointDecode)((0, encoding_1.hexStringToUint8Array)(compressedPublicKeyHex));
|
|
46
|
-
jwk.d = (0, encoding_1.hexStringToBase64urlString)(uncompressedPrivateKeyHex);
|
|
47
|
-
return jwk;
|
|
48
|
-
}
|
|
49
42
|
/**
|
|
50
43
|
* `SubtleCrypto.sign(...)` outputs signature in IEEE P1363 format:
|
|
51
44
|
* - https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/sign#ecdsa
|
|
@@ -114,4 +107,4 @@ function toUnsignedBigNum(bytes) {
|
|
|
114
107
|
res.set(bytes.subarray(start), extraZero);
|
|
115
108
|
return res;
|
|
116
109
|
}
|
|
117
|
-
//# sourceMappingURL=stamp.js.map
|
|
110
|
+
//# sourceMappingURL=stamp.webcrypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stamp.webcrypto.js","sourceRoot":"","sources":["../src/stamp.webcrypto.ts"],"names":[],"mappings":"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"}
|
package/dist/universal.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
/// <reference lib="dom" />
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
};
|
|
7
|
-
export declare const fetch: typeof globalThis.fetch;
|
|
2
|
+
import type { TStamper } from "./shared";
|
|
3
|
+
declare let fetch: typeof globalThis.fetch;
|
|
4
|
+
declare let stamp: TStamper;
|
|
5
|
+
export { fetch, stamp };
|
|
8
6
|
//# sourceMappingURL=universal.d.ts.map
|
package/dist/universal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"universal.d.ts","sourceRoot":"","sources":["../src/universal.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"universal.d.ts","sourceRoot":"","sources":["../src/universal.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,QAAA,IAAI,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;AAQnC,QAAA,IAAI,KAAK,EAAE,QAAQ,CAAC;AAQpB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
package/dist/universal.js
CHANGED
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/// <reference lib="dom" />
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.
|
|
5
|
-
|
|
6
|
-
exports.
|
|
7
|
-
|
|
3
|
+
exports.stamp = exports.fetch = void 0;
|
|
4
|
+
let fetch;
|
|
5
|
+
exports.fetch = fetch;
|
|
6
|
+
if (typeof globalThis?.fetch !== "undefined") {
|
|
7
|
+
exports.fetch = fetch = globalThis.fetch;
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
exports.fetch = fetch = require("cross-fetch");
|
|
11
|
+
}
|
|
12
|
+
let stamp;
|
|
13
|
+
exports.stamp = stamp;
|
|
14
|
+
if (typeof globalThis?.crypto?.subtle !== "undefined") {
|
|
15
|
+
exports.stamp = stamp = require("./stamp.webcrypto").stamp;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
exports.stamp = stamp = require("./stamp.node").stamp;
|
|
19
|
+
}
|
|
8
20
|
//# sourceMappingURL=universal.js.map
|
package/dist/universal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"universal.js","sourceRoot":"","sources":["../src/universal.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"universal.js","sourceRoot":"","sources":["../src/universal.ts"],"names":[],"mappings":";;;AAGA,IAAI,KAA8B,CAAC;AAgB1B,sBAAK;AAdd,IAAI,OAAO,UAAU,EAAE,KAAK,KAAK,WAAW,EAAE;IAC5C,gBAAA,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;CAC1B;KAAM;IACL,gBAAA,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAChC;AAED,IAAI,KAAe,CAAC;AAQJ,sBAAK;AANrB,IAAI,OAAO,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,WAAW,EAAE;IACrD,gBAAA,KAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC;CAC5C;KAAM;IACL,gBAAA,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;CACvC"}
|
package/package.json
CHANGED
package/dist/stamp.d.ts
DELETED
package/dist/stamp.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stamp.d.ts","sourceRoot":"","sources":["../src/stamp.ts"],"names":[],"mappings":"AAQA,wBAAsB,KAAK,CAAC,KAAK,EAAE;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;;;;GAcA"}
|
package/dist/stamp.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stamp.js","sourceRoot":"","sources":["../src/stamp.ts"],"names":[],"mappings":"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"}
|