ox 1.2.0 → 1.3.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 +34 -0
- package/dist/core/AbiFunction.d.ts +1 -1
- package/dist/core/AbiFunction.d.ts.map +1 -1
- package/dist/core/AbiFunction.js +6 -2
- package/dist/core/AbiFunction.js.map +1 -1
- package/dist/core/AbiParameters.d.ts +1 -1
- package/dist/core/AbiParameters.d.ts.map +1 -1
- package/dist/core/AbiParameters.js +1 -13
- package/dist/core/AbiParameters.js.map +1 -1
- package/dist/core/AesGcm.d.ts +36 -1
- package/dist/core/AesGcm.d.ts.map +1 -1
- package/dist/core/AesGcm.js +44 -0
- package/dist/core/AesGcm.js.map +1 -1
- package/dist/core/Ed25519.d.ts +46 -1
- package/dist/core/Ed25519.d.ts.map +1 -1
- package/dist/core/Ed25519.js +43 -0
- package/dist/core/Ed25519.js.map +1 -1
- package/dist/core/Engine.d.ts +1 -1
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Hash.d.ts +164 -1
- package/dist/core/Hash.d.ts.map +1 -1
- package/dist/core/Hash.js +172 -0
- package/dist/core/Hash.js.map +1 -1
- package/dist/core/Hex.d.ts.map +1 -1
- package/dist/core/Hex.js +1 -4
- package/dist/core/Hex.js.map +1 -1
- package/dist/core/Rlp.d.ts +32 -0
- package/dist/core/Rlp.d.ts.map +1 -1
- package/dist/core/Rlp.js +146 -0
- package/dist/core/Rlp.js.map +1 -1
- package/dist/core/Secp256k1.d.ts +46 -1
- package/dist/core/Secp256k1.d.ts.map +1 -1
- package/dist/core/Secp256k1.js +48 -0
- package/dist/core/Secp256k1.js.map +1 -1
- package/dist/core/WebAuthn.d.ts +224 -0
- package/dist/core/WebAuthn.d.ts.map +1 -0
- package/dist/core/WebAuthn.js +343 -0
- package/dist/core/WebAuthn.js.map +1 -0
- package/dist/core/WebAuthnP256.d.ts +46 -50
- package/dist/core/WebAuthnP256.d.ts.map +1 -1
- package/dist/core/WebAuthnP256.js +44 -50
- package/dist/core/WebAuthnP256.js.map +1 -1
- package/dist/core/internal/abiParameters.d.ts +7 -87
- package/dist/core/internal/abiParameters.d.ts.map +1 -1
- package/dist/core/internal/abiParameters.js +339 -194
- package/dist/core/internal/abiParameters.js.map +1 -1
- package/dist/core/internal/engine.d.ts +35 -2
- package/dist/core/internal/engine.d.ts.map +1 -1
- package/dist/core/internal/engine.js +12 -1
- package/dist/core/internal/engine.js.map +1 -1
- package/dist/core/internal/hash.d.ts +10 -0
- package/dist/core/internal/hash.d.ts.map +1 -1
- package/dist/core/internal/hash.js +26 -1
- package/dist/core/internal/hash.js.map +1 -1
- package/dist/index.d.ts +23 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -14
- package/dist/index.js.map +1 -1
- package/dist/node/Engine.d.ts +1 -1
- package/dist/node/Engine.d.ts.map +1 -1
- package/dist/node/Engine.js.map +1 -1
- package/dist/node/Hash.d.ts +6 -4
- package/dist/node/Hash.d.ts.map +1 -1
- package/dist/node/Hash.js +35 -3
- package/dist/node/Hash.js.map +1 -1
- package/dist/tempo/AuthorizationTempo.d.ts +6 -6
- package/dist/tempo/AuthorizationTempo.js +6 -6
- package/dist/tempo/KeyAuthorization.d.ts +3 -8
- package/dist/tempo/KeyAuthorization.d.ts.map +1 -1
- package/dist/tempo/KeyAuthorization.js +3 -8
- package/dist/tempo/KeyAuthorization.js.map +1 -1
- package/dist/tempo/SignatureEnvelope.d.ts +8 -8
- package/dist/tempo/SignatureEnvelope.js +8 -8
- package/dist/wasm/Engine.d.ts +1 -1
- package/dist/wasm/Engine.d.ts.map +1 -1
- package/dist/wasm/Engine.js.map +1 -1
- package/dist/wasm/Hash.d.ts +1 -1
- package/dist/wasm/Hash.d.ts.map +1 -1
- package/dist/wasm/Hash.js +5 -0
- package/dist/wasm/Hash.js.map +1 -1
- package/dist/wasm/internal/blake3.d.ts +10 -1
- package/dist/wasm/internal/blake3.d.ts.map +1 -1
- package/dist/wasm/internal/blake3.js +12 -1
- package/dist/wasm/internal/blake3.js.map +1 -1
- package/dist/wasm/internal/blake3.wasm.d.ts +3 -1
- package/dist/wasm/internal/blake3.wasm.d.ts.map +1 -1
- package/dist/wasm/internal/blake3.wasm.js +3 -1
- package/dist/wasm/internal/blake3.wasm.js.map +1 -1
- package/dist/wasm/internal/hash.d.ts +9 -0
- package/dist/wasm/internal/hash.d.ts.map +1 -1
- package/dist/wasm/internal/hash.js +13 -1
- package/dist/wasm/internal/hash.js.map +1 -1
- package/dist/wasm/internal/hashState.d.ts +25 -0
- package/dist/wasm/internal/hashState.d.ts.map +1 -0
- package/dist/wasm/internal/hashState.js +105 -0
- package/dist/wasm/internal/hashState.js.map +1 -0
- package/dist/wasm/internal/hashes.d.ts +12 -1
- package/dist/wasm/internal/hashes.d.ts.map +1 -1
- package/dist/wasm/internal/hashes.js +18 -1
- package/dist/wasm/internal/hashes.js.map +1 -1
- package/dist/wasm/internal/hashes.wasm.d.ts +11 -3
- package/dist/wasm/internal/hashes.wasm.d.ts.map +1 -1
- package/dist/wasm/internal/hashes.wasm.js +11 -3
- package/dist/wasm/internal/hashes.wasm.js.map +1 -1
- package/dist/webauthn/Authentication.d.ts +2 -0
- package/dist/webauthn/Authentication.d.ts.map +1 -1
- package/dist/webauthn/Authentication.js +2 -1
- package/dist/webauthn/Authentication.js.map +1 -1
- package/dist/webauthn/Registration.d.ts.map +1 -1
- package/dist/webauthn/Registration.js +2 -1
- package/dist/webauthn/Registration.js.map +1 -1
- package/dist/webauthn/Types.d.ts +27 -6
- package/dist/webauthn/Types.d.ts.map +1 -1
- package/dist/webauthn/internal/utils.d.ts.map +1 -1
- package/dist/webauthn/internal/utils.js +35 -9
- package/dist/webauthn/internal/utils.js.map +1 -1
- package/dist/zod/TypedData.d.ts +2 -2
- package/package.json +9 -1
- package/src/benchmarks/Ox.bench.ts +6 -0
- package/src/benchmarks/OxNode.bench.ts +8 -0
- package/src/benchmarks/OxV0.bench.ts +4 -0
- package/src/benchmarks/OxWasm.bench.ts +22 -0
- package/src/core/AbiFunction.ts +5 -5
- package/src/core/AbiParameters.ts +8 -20
- package/src/core/AesGcm.ts +86 -1
- package/src/core/Ed25519.ts +87 -1
- package/src/core/Engine.ts +1 -0
- package/src/core/Hash.ts +262 -1
- package/src/core/Hex.ts +1 -4
- package/src/core/Rlp.ts +172 -5
- package/src/core/Secp256k1.ts +92 -1
- package/src/core/WebAuthn.ts +579 -0
- package/src/core/WebAuthnP256.ts +47 -50
- package/src/core/_test/AbiFunction.test.ts +9 -0
- package/src/core/_test/AbiParameters.differential.fuzz.ts +156 -0
- package/src/core/_test/AbiParameters.encode.test.ts +22 -0
- package/src/core/_test/AbiParameters.fuzz.ts +4 -0
- package/src/core/_test/AesGcm.test.ts +76 -0
- package/src/core/_test/Ed25519.test-d.ts +13 -1
- package/src/core/_test/Ed25519.test.ts +120 -1
- package/src/core/_test/Engine.test-d.ts +9 -0
- package/src/core/_test/Engine.test.ts +1 -1
- package/src/core/_test/Hash.test-d.ts +23 -0
- package/src/core/_test/Hash.test.ts +179 -1
- package/src/core/_test/Hex.test.ts +2 -0
- package/src/core/_test/Rlp.test-d.ts +18 -0
- package/src/core/_test/Rlp.test.ts +109 -0
- package/src/core/_test/Secp256k1.test-d.ts +14 -0
- package/src/core/_test/Secp256k1.test.ts +91 -1
- package/src/core/_test/WebAuthn.test-d.ts +142 -0
- package/src/core/_test/WebAuthn.test.ts +766 -0
- package/src/core/_test/index.test.ts +1 -0
- package/src/core/internal/abiParameters.ts +466 -326
- package/src/core/internal/engine.ts +47 -2
- package/src/core/internal/hash.ts +53 -1
- package/src/index.ts +24 -14
- package/src/node/Engine.ts +1 -0
- package/src/node/Hash.ts +43 -6
- package/src/node/_test/Engine.test-d.ts +1 -0
- package/src/node/_test/Engine.test.ts +2 -0
- package/src/node/_test/Hash.test-d.ts +10 -0
- package/src/node/_test/Hash.test.ts +46 -0
- package/src/tempo/AuthorizationTempo.ts +6 -6
- package/src/tempo/KeyAuthorization.ts +3 -8
- package/src/tempo/SignatureEnvelope.ts +8 -8
- package/src/version.ts +1 -1
- package/src/wasm/Engine.ts +1 -0
- package/src/wasm/Hash.ts +10 -0
- package/src/wasm/_test/Engine.test-d.ts +1 -0
- package/src/wasm/_test/Engine.test.ts +5 -0
- package/src/wasm/_test/Hash.browser.test.ts +28 -0
- package/src/wasm/_test/Hash.test-d.ts +16 -0
- package/src/wasm/_test/Hash.test.ts +250 -1
- package/src/wasm/internal/blake3.ts +23 -2
- package/src/wasm/internal/blake3.wasm.ts +4 -1
- package/src/wasm/internal/hash.ts +27 -1
- package/src/wasm/internal/hashState.ts +154 -0
- package/src/wasm/internal/hashes.ts +56 -15
- package/src/wasm/internal/hashes.wasm.ts +15 -3
- package/src/webauthn/Authentication.ts +4 -0
- package/src/webauthn/Registration.ts +2 -0
- package/src/webauthn/Types.ts +32 -2
- package/src/webauthn/_test/Authentication.test.ts +123 -1
- package/src/webauthn/_test/Registration.test.ts +26 -6
- package/src/webauthn/_test/WebAuthn.browser.test.ts +28 -0
- package/src/webauthn/internal/utils.ts +41 -8
package/dist/core/Rlp.js
CHANGED
|
@@ -105,6 +105,40 @@ export function readList(cursor, length, to, depth = 0) {
|
|
|
105
105
|
});
|
|
106
106
|
return value;
|
|
107
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Encodes a value as Recursive-Length Prefix (RLP) and writes the encoded bytes
|
|
110
|
+
* through a synchronous callback without allocating the complete encoding.
|
|
111
|
+
*
|
|
112
|
+
* Ox validates the complete input before the first write. If the callback
|
|
113
|
+
* throws, the error propagates and earlier callback side effects remain.
|
|
114
|
+
*
|
|
115
|
+
* Ox does not mutate a chunk after the callback returns. A chunk may alias a
|
|
116
|
+
* byte-array leaf from the encoded value. The callback must not mutate the
|
|
117
|
+
* chunk before `encodeTo` returns.
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```ts twoslash
|
|
121
|
+
* import { Bytes, Rlp } from 'ox'
|
|
122
|
+
*
|
|
123
|
+
* const chunks: Uint8Array[] = []
|
|
124
|
+
* Rlp.encodeTo(['0x01', '0x0203'], (chunk) => {
|
|
125
|
+
* chunks.push(chunk)
|
|
126
|
+
* })
|
|
127
|
+
*
|
|
128
|
+
* const encoded = Bytes.concat(...chunks)
|
|
129
|
+
* // @log: Uint8Array([196, 1, 130, 2, 3])
|
|
130
|
+
* ```
|
|
131
|
+
*
|
|
132
|
+
* @param value - The bytes or Hex value, or nested list of values, to encode.
|
|
133
|
+
* @param write - The synchronous callback for encoded chunks.
|
|
134
|
+
* @returns Nothing.
|
|
135
|
+
*/
|
|
136
|
+
export function encodeTo(value, write) {
|
|
137
|
+
const snapshot = snapshotValue(value);
|
|
138
|
+
const ctx = { lengths: [], cursor: 0 };
|
|
139
|
+
measure(snapshot, ctx);
|
|
140
|
+
writeEncodedTo(write, snapshot, { lengths: ctx.lengths, cursor: 0 });
|
|
141
|
+
}
|
|
108
142
|
/**
|
|
109
143
|
* Encodes a {@link ox#Bytes.Bytes} or {@link ox#Hex.Hex} value into a Recursive-Length Prefix (RLP) value.
|
|
110
144
|
*
|
|
@@ -222,6 +256,23 @@ function getSizeOfLength(length) {
|
|
|
222
256
|
return 4;
|
|
223
257
|
throw new Errors.BaseError('Length is too large.');
|
|
224
258
|
}
|
|
259
|
+
/**
|
|
260
|
+
* Validates Hex leaves and copies list structure before the callback can mutate
|
|
261
|
+
* the input during encoding. Byte leaves remain zero-copy.
|
|
262
|
+
*
|
|
263
|
+
* @internal
|
|
264
|
+
*/
|
|
265
|
+
function snapshotValue(value) {
|
|
266
|
+
if (Array.isArray(value)) {
|
|
267
|
+
const snapshot = [];
|
|
268
|
+
for (let i = 0; i < value.length; i++)
|
|
269
|
+
snapshot.push(snapshotValue(value[i]));
|
|
270
|
+
return snapshot;
|
|
271
|
+
}
|
|
272
|
+
if (typeof value === 'string')
|
|
273
|
+
validateHexLeaf(value);
|
|
274
|
+
return value;
|
|
275
|
+
}
|
|
225
276
|
/**
|
|
226
277
|
* Walks `value` once, caches each list's `bodyLength` into `ctx.lengths`,
|
|
227
278
|
* and returns the total encoded byte length. Allocates nothing per node
|
|
@@ -304,6 +355,101 @@ function writeEncoded(bytes, offset, value, ctx) {
|
|
|
304
355
|
return writeHexLeaf(bytes, offset, value);
|
|
305
356
|
return writeBytesLeaf(bytes, offset, value);
|
|
306
357
|
}
|
|
358
|
+
const writeChunkSize = 16_384;
|
|
359
|
+
/**
|
|
360
|
+
* Writes an RLP value using list lengths cached by `measure`.
|
|
361
|
+
*
|
|
362
|
+
* @internal
|
|
363
|
+
*/
|
|
364
|
+
function writeEncodedTo(write, value, ctx) {
|
|
365
|
+
if (Array.isArray(value)) {
|
|
366
|
+
write(encodePrefix(ctx.lengths[ctx.cursor++], 0xc0));
|
|
367
|
+
for (let i = 0; i < value.length; i++)
|
|
368
|
+
writeEncodedTo(write, value[i], ctx);
|
|
369
|
+
return;
|
|
370
|
+
}
|
|
371
|
+
if (typeof value === 'string') {
|
|
372
|
+
writeHexLeafTo(write, value);
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
375
|
+
writeBytesLeafTo(write, value);
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Writes a Hex leaf in bounded chunks. `snapshotValue` validated every nibble
|
|
379
|
+
* before this function can run.
|
|
380
|
+
*
|
|
381
|
+
* @internal
|
|
382
|
+
*/
|
|
383
|
+
function writeHexLeafTo(write, hex) {
|
|
384
|
+
const byteLength = (hex.length - 1) >> 1;
|
|
385
|
+
if (byteLength === 1 && readHexByte(hex, 0) < 0x80) {
|
|
386
|
+
write(Uint8Array.of(readHexByte(hex, 0)));
|
|
387
|
+
return;
|
|
388
|
+
}
|
|
389
|
+
write(encodePrefix(byteLength, 0x80));
|
|
390
|
+
for (let offset = 0; offset < byteLength; offset += writeChunkSize) {
|
|
391
|
+
const length = Math.min(writeChunkSize, byteLength - offset);
|
|
392
|
+
const chunk = new Uint8Array(length);
|
|
393
|
+
for (let i = 0; i < length; i++)
|
|
394
|
+
chunk[i] = readHexByte(hex, offset + i);
|
|
395
|
+
write(chunk);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Writes a byte leaf without copying its body.
|
|
400
|
+
*
|
|
401
|
+
* @internal
|
|
402
|
+
*/
|
|
403
|
+
function writeBytesLeafTo(write, leaf) {
|
|
404
|
+
const length = leaf.length;
|
|
405
|
+
if (length === 1 && leaf[0] < 0x80) {
|
|
406
|
+
write(leaf);
|
|
407
|
+
return;
|
|
408
|
+
}
|
|
409
|
+
write(encodePrefix(length, 0x80));
|
|
410
|
+
if (length > 0)
|
|
411
|
+
write(leaf);
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Encodes a string or list length prefix.
|
|
415
|
+
*
|
|
416
|
+
* @internal
|
|
417
|
+
*/
|
|
418
|
+
function encodePrefix(length, offset) {
|
|
419
|
+
if (length <= 55)
|
|
420
|
+
return Uint8Array.of(offset + length);
|
|
421
|
+
const size = getSizeOfLength(length);
|
|
422
|
+
const prefix = new Uint8Array(size + 1);
|
|
423
|
+
prefix[0] = offset + 55 + size;
|
|
424
|
+
writeBigEndian(prefix, 1, length, size);
|
|
425
|
+
return prefix;
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Reads one byte from an odd- or even-nibble Hex value.
|
|
429
|
+
*
|
|
430
|
+
* @internal
|
|
431
|
+
*/
|
|
432
|
+
function readHexByte(hex, index) {
|
|
433
|
+
const odd = (hex.length & 1) === 1;
|
|
434
|
+
if (odd && index === 0)
|
|
435
|
+
return internal_bytes.charCodeToBase16(hex.charCodeAt(2));
|
|
436
|
+
const nibble = odd ? index * 2 - 1 : index * 2;
|
|
437
|
+
const high = internal_bytes.charCodeToBase16(hex.charCodeAt(2 + nibble));
|
|
438
|
+
const low = internal_bytes.charCodeToBase16(hex.charCodeAt(3 + nibble));
|
|
439
|
+
return (high << 4) | low;
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Validates a Hex leaf while preserving RLP's odd-nibble left-padding.
|
|
443
|
+
*
|
|
444
|
+
* @internal
|
|
445
|
+
*/
|
|
446
|
+
function validateHexLeaf(hex) {
|
|
447
|
+
if (hex.length < 2 || hex.charCodeAt(0) !== 48 || hex.charCodeAt(1) !== 120)
|
|
448
|
+
throw invalidNibble(hex);
|
|
449
|
+
for (let i = 2; i < hex.length; i++)
|
|
450
|
+
if (internal_bytes.charCodeToBase16(hex.charCodeAt(i)) === undefined)
|
|
451
|
+
throw invalidNibble(hex);
|
|
452
|
+
}
|
|
307
453
|
/**
|
|
308
454
|
* Hex-leaf fast path: writes the RLP encoding of a hex string directly into
|
|
309
455
|
* `bytes` by nibble-decoding the source hex chars into the destination
|
package/dist/core/Rlp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rlp.js","sourceRoot":"","sources":["../../src/core/Rlp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rlp.js","sourceRoot":"","sources":["../../src/core/Rlp.ts"],"names":[],"mappings":"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"}
|
package/dist/core/Secp256k1.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as Address from './Address.js';
|
|
2
2
|
import * as Bytes from './Bytes.js';
|
|
3
|
-
import
|
|
3
|
+
import * as Errors from './Errors.js';
|
|
4
|
+
import * as Hash from './Hash.js';
|
|
4
5
|
import * as Hex from './Hex.js';
|
|
5
6
|
import type { OneOf } from './internal/types.js';
|
|
6
7
|
import * as PublicKey from './PublicKey.js';
|
|
@@ -35,6 +36,38 @@ export declare namespace createKeyPair {
|
|
|
35
36
|
};
|
|
36
37
|
type ErrorType = Hex.fromBytes.ErrorType | PublicKey.from.ErrorType | Errors.GlobalErrorType;
|
|
37
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Derives a valid secp256k1 private key from a 32-byte WebAuthn PRF output.
|
|
41
|
+
*
|
|
42
|
+
* The permanent derivation contract uses the PRF output as the HMAC-SHA256
|
|
43
|
+
* key. Its message is the UTF-8 bytes of `ox.secp256k1.fromPrf.v1` followed by
|
|
44
|
+
* a 32-bit big-endian counter starting at zero. Invalid scalars are skipped.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts twoslash
|
|
48
|
+
* import { Secp256k1 } from 'ox'
|
|
49
|
+
*
|
|
50
|
+
* const privateKey = Secp256k1.fromPrf(
|
|
51
|
+
* '0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f'
|
|
52
|
+
* )
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* @param value - A 32-byte WebAuthn PRF output.
|
|
56
|
+
* @param options - Options.
|
|
57
|
+
* @returns A valid secp256k1 private key.
|
|
58
|
+
*/
|
|
59
|
+
export declare function fromPrf<as extends 'Hex' | 'Bytes' = 'Hex'>(value: Hex.Hex | Bytes.Bytes, options?: fromPrf.Options<as>): fromPrf.ReturnType<as>;
|
|
60
|
+
export declare namespace fromPrf {
|
|
61
|
+
type Options<as extends 'Hex' | 'Bytes' = 'Hex'> = {
|
|
62
|
+
/**
|
|
63
|
+
* Format of the returned private key.
|
|
64
|
+
* @default 'Hex'
|
|
65
|
+
*/
|
|
66
|
+
as?: as | 'Hex' | 'Bytes' | undefined;
|
|
67
|
+
};
|
|
68
|
+
type ReturnType<as extends 'Hex' | 'Bytes'> = (as extends 'Bytes' ? Bytes.Bytes : never) | (as extends 'Hex' ? Hex.Hex : never);
|
|
69
|
+
type ErrorType = Bytes.concat.ErrorType | Bytes.from.ErrorType | Bytes.fromNumber.ErrorType | Hash.hmac256.ErrorType | Hex.fromBytes.ErrorType | InvalidPrfSizeError | Errors.GlobalErrorType;
|
|
70
|
+
}
|
|
38
71
|
/**
|
|
39
72
|
* Computes the secp256k1 ECDSA public key from a provided private key.
|
|
40
73
|
*
|
|
@@ -343,4 +376,16 @@ export declare namespace verify {
|
|
|
343
376
|
}>;
|
|
344
377
|
type ErrorType = Errors.GlobalErrorType;
|
|
345
378
|
}
|
|
379
|
+
/** Thrown when a WebAuthn PRF output is not 32 bytes. */
|
|
380
|
+
export declare class InvalidPrfSizeError extends Errors.BaseError {
|
|
381
|
+
readonly name = "Secp256k1.InvalidPrfSizeError";
|
|
382
|
+
constructor(options: InvalidPrfSizeError.Options);
|
|
383
|
+
}
|
|
384
|
+
export declare namespace InvalidPrfSizeError {
|
|
385
|
+
/** Options for {@link ox#Secp256k1.InvalidPrfSizeError}. */
|
|
386
|
+
type Options = {
|
|
387
|
+
/** Received PRF output size. */
|
|
388
|
+
size: number;
|
|
389
|
+
};
|
|
390
|
+
}
|
|
346
391
|
//# sourceMappingURL=Secp256k1.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Secp256k1.d.ts","sourceRoot":"","sources":["../../src/core/Secp256k1.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Secp256k1.d.ts","sourceRoot":"","sources":["../../src/core/Secp256k1.ts"],"names":[],"mappings":"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"}
|
package/dist/core/Secp256k1.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { secp256k1 } from '@noble/curves/secp256k1.js';
|
|
2
2
|
import * as Address from './Address.js';
|
|
3
3
|
import * as Bytes from './Bytes.js';
|
|
4
|
+
import * as Errors from './Errors.js';
|
|
5
|
+
import * as Hash from './Hash.js';
|
|
4
6
|
import * as Hex from './Hex.js';
|
|
5
7
|
import { formatPublicKey, formatSignature, normalizePublicKey, normalizeSignature, } from './internal/cryptoIo.js';
|
|
6
8
|
import * as engine from './internal/secp256k1.js';
|
|
@@ -31,6 +33,44 @@ export function createKeyPair(options = {}) {
|
|
|
31
33
|
publicKey,
|
|
32
34
|
};
|
|
33
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Derives a valid secp256k1 private key from a 32-byte WebAuthn PRF output.
|
|
38
|
+
*
|
|
39
|
+
* The permanent derivation contract uses the PRF output as the HMAC-SHA256
|
|
40
|
+
* key. Its message is the UTF-8 bytes of `ox.secp256k1.fromPrf.v1` followed by
|
|
41
|
+
* a 32-bit big-endian counter starting at zero. Invalid scalars are skipped.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```ts twoslash
|
|
45
|
+
* import { Secp256k1 } from 'ox'
|
|
46
|
+
*
|
|
47
|
+
* const privateKey = Secp256k1.fromPrf(
|
|
48
|
+
* '0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f'
|
|
49
|
+
* )
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* @param value - A 32-byte WebAuthn PRF output.
|
|
53
|
+
* @param options - Options.
|
|
54
|
+
* @returns A valid secp256k1 private key.
|
|
55
|
+
*/
|
|
56
|
+
export function fromPrf(value, options = {}) {
|
|
57
|
+
const { as = 'Hex' } = options;
|
|
58
|
+
const bytes = Bytes.from(value);
|
|
59
|
+
if (bytes.length !== 32)
|
|
60
|
+
throw new InvalidPrfSizeError({ size: bytes.length });
|
|
61
|
+
for (let counter = 0;; counter++) {
|
|
62
|
+
const candidate = Hash.hmac256(bytes, Bytes.concat(fromPrfLabel, Bytes.fromNumber(counter, { size: 4 })), { as: 'Bytes' });
|
|
63
|
+
if (noble.utils.isValidSecretKey(candidate)) {
|
|
64
|
+
if (as === 'Hex') {
|
|
65
|
+
const value = Hex.fromBytes(candidate);
|
|
66
|
+
candidate.fill(0);
|
|
67
|
+
return value;
|
|
68
|
+
}
|
|
69
|
+
return candidate;
|
|
70
|
+
}
|
|
71
|
+
candidate.fill(0);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
34
74
|
/**
|
|
35
75
|
* Computes the secp256k1 ECDSA public key from a provided private key.
|
|
36
76
|
*
|
|
@@ -234,4 +274,12 @@ export function verify(options) {
|
|
|
234
274
|
const sig = normalizeSignature(options.signature);
|
|
235
275
|
return engine.verify(toCompactBytes(sig), Bytes.from(payload), PublicKey.toBytes(normalizePublicKey(options.publicKey)), { prehash: hash === true });
|
|
236
276
|
}
|
|
277
|
+
/** Thrown when a WebAuthn PRF output is not 32 bytes. */
|
|
278
|
+
export class InvalidPrfSizeError extends Errors.BaseError {
|
|
279
|
+
name = 'Secp256k1.InvalidPrfSizeError';
|
|
280
|
+
constructor(options) {
|
|
281
|
+
super(`PRF output must be exactly 32 bytes. Received ${options.size} bytes.`);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
const fromPrfLabel = Bytes.fromString('ox.secp256k1.fromPrf.v1');
|
|
237
285
|
//# sourceMappingURL=Secp256k1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Secp256k1.js","sourceRoot":"","sources":["../../src/core/Secp256k1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"Secp256k1.js","sourceRoot":"","sources":["../../src/core/Secp256k1.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import * as Bytes from './Bytes.js';
|
|
2
|
+
import * as Errors from './Errors.js';
|
|
3
|
+
import * as Hex from './Hex.js';
|
|
4
|
+
import type { UnionOmit } from './internal/types.js';
|
|
5
|
+
import * as Authentication from '../webauthn/Authentication.js';
|
|
6
|
+
import type * as Credential from '../webauthn/Credential.js';
|
|
7
|
+
import * as Registration from '../webauthn/Registration.js';
|
|
8
|
+
import type * as Types from '../webauthn/Types.js';
|
|
9
|
+
export * from './WebAuthnP256.js';
|
|
10
|
+
/** Configuration for evaluating a WebAuthn credential-bound PRF. */
|
|
11
|
+
export type Prf = true | {
|
|
12
|
+
/**
|
|
13
|
+
* Application-owned PRF input.
|
|
14
|
+
*
|
|
15
|
+
* Use the same input to reproduce an output. Store unpredictable inputs
|
|
16
|
+
* with the credential metadata.
|
|
17
|
+
*/
|
|
18
|
+
input: Bytes.Bytes;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Creates a WebAuthn credential and optionally returns its credential-bound
|
|
22
|
+
* PRF output.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts twoslash
|
|
26
|
+
* import { Secp256k1, WebAuthn } from 'ox'
|
|
27
|
+
*
|
|
28
|
+
* const credential = await WebAuthn.createCredential({
|
|
29
|
+
* name: 'Example',
|
|
30
|
+
* prf: true
|
|
31
|
+
* })
|
|
32
|
+
* const privateKey = Secp256k1.fromPrf(credential.prf)
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* `prf: true` uses the stable input `ox.webauthn.prf.v1`. Pass
|
|
36
|
+
* `{ input }` to use an application-owned input instead.
|
|
37
|
+
*
|
|
38
|
+
* When credential creation enables PRF but does not return an output, this
|
|
39
|
+
* function performs a follow-up assertion. The user may be prompted twice.
|
|
40
|
+
*
|
|
41
|
+
* If PRF evaluation fails after registration, the thrown error retains the
|
|
42
|
+
* created credential on its `credential` property.
|
|
43
|
+
*
|
|
44
|
+
* :::warning
|
|
45
|
+
*
|
|
46
|
+
* PRF output is secret application-held key material. Native
|
|
47
|
+
* `credential.raw.toJSON()` output includes extension results, so do not
|
|
48
|
+
* serialize or send the raw credential.
|
|
49
|
+
*
|
|
50
|
+
* PRF-derived keys are software keys. Code on any origin allowed to use the
|
|
51
|
+
* same RP ID can request the same output after user verification.
|
|
52
|
+
*
|
|
53
|
+
* :::
|
|
54
|
+
*
|
|
55
|
+
* @param options - Credential creation and PRF options.
|
|
56
|
+
* @returns The credential, with a copied PRF output when requested.
|
|
57
|
+
*/
|
|
58
|
+
export declare function createCredential<const options extends createCredential.Options | createCredential.PrfOptions>(options: options): Promise<createCredential.ReturnType<options>>;
|
|
59
|
+
export declare namespace createCredential {
|
|
60
|
+
/** Options for ordinary WebAuthn P256 credential creation. */
|
|
61
|
+
type Options = Registration.create.Options & {
|
|
62
|
+
/** Reserved for credential creation with PRF output. */
|
|
63
|
+
prf?: never;
|
|
64
|
+
};
|
|
65
|
+
/** Options for WebAuthn credential creation with required PRF output. */
|
|
66
|
+
type PrfOptions = UnionOmit<Registration.getOptions.Options, 'authenticatorSelection' | 'challenge' | 'extensions'> & {
|
|
67
|
+
/**
|
|
68
|
+
* Criteria used to select an authenticator. User verification is always required.
|
|
69
|
+
*/
|
|
70
|
+
authenticatorSelection?: Omit<NonNullable<Registration.getOptions.Options['authenticatorSelection']>, 'userVerification'> | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Cryptographic challenge. Defaults to a random 32-byte value.
|
|
73
|
+
*
|
|
74
|
+
* Supply and verify a server-generated challenge when registration is
|
|
75
|
+
* also used to authenticate a user to a server.
|
|
76
|
+
*/
|
|
77
|
+
challenge?: Registration.getOptions.Options['challenge'] | undefined;
|
|
78
|
+
/** Function that creates the WebAuthn credential. */
|
|
79
|
+
createFn?: ((options?: Types.CredentialCreationOptions) => Promise<Types.Credential | null>) | undefined;
|
|
80
|
+
/** Additional WebAuthn extensions. The `prf` extension is managed by this function. */
|
|
81
|
+
extensions?: Omit<Types.AuthenticationExtensionsClientInputs, 'prf'> | undefined;
|
|
82
|
+
/** Function used for a follow-up PRF assertion when creation does not return an output. */
|
|
83
|
+
getFn?: ((options?: Types.CredentialRequestOptions) => Promise<Types.Credential | null>) | undefined;
|
|
84
|
+
/** Credential-bound PRF configuration. */
|
|
85
|
+
prf: Prf;
|
|
86
|
+
/** Raw credential options cannot be combined with managed PRF evaluation. */
|
|
87
|
+
publicKey?: never;
|
|
88
|
+
};
|
|
89
|
+
/** Created WebAuthn credential with its credential-bound PRF output. */
|
|
90
|
+
type PrfReturnType = Credential.Credential & {
|
|
91
|
+
/** Copied 32-byte credential-bound PRF output. */
|
|
92
|
+
prf: Bytes.Bytes;
|
|
93
|
+
};
|
|
94
|
+
/** Return type for a WebAuthn credential creation request. */
|
|
95
|
+
type ReturnType<options extends Options | PrfOptions> = options extends PrfOptions ? PrfReturnType : Credential.Credential;
|
|
96
|
+
type ErrorType = InvalidExtensionError | InvalidOptionsError | InvalidPrfOutputError | PrfEvaluationFailedError | PrfNotSupportedError | Registration.create.ErrorType | Errors.GlobalErrorType;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Requests a WebAuthn credential and returns its credential-bound PRF output.
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```ts twoslash
|
|
103
|
+
* import { Secp256k1, WebAuthn } from 'ox'
|
|
104
|
+
*
|
|
105
|
+
* const { prf } = await WebAuthn.getCredential({
|
|
106
|
+
* credentialId: 'oZ48...',
|
|
107
|
+
* prf: true
|
|
108
|
+
* })
|
|
109
|
+
* const privateKey = Secp256k1.fromPrf(prf)
|
|
110
|
+
* ```
|
|
111
|
+
*
|
|
112
|
+
* `prf: true` uses the stable input `ox.webauthn.prf.v1`. Pass
|
|
113
|
+
* `{ input }` to use an application-owned input instead.
|
|
114
|
+
*
|
|
115
|
+
* When more than one credential can be selected, check `result.id`
|
|
116
|
+
* before using the PRF output.
|
|
117
|
+
*
|
|
118
|
+
* :::warning
|
|
119
|
+
*
|
|
120
|
+
* PRF output is secret application-held key material. Native
|
|
121
|
+
* `response.raw.toJSON()` output includes extension results, so do not
|
|
122
|
+
* serialize or send the raw response.
|
|
123
|
+
*
|
|
124
|
+
* :::
|
|
125
|
+
*
|
|
126
|
+
* @param options - Credential request and PRF options.
|
|
127
|
+
* @returns The requested credential and a copied 32-byte PRF output.
|
|
128
|
+
*/
|
|
129
|
+
export declare function getCredential(options: getCredential.Options): Promise<getCredential.ReturnType>;
|
|
130
|
+
export declare namespace getCredential {
|
|
131
|
+
type Options = UnionOmit<Authentication.getOptions.Options, 'challenge' | 'extensions' | 'userVerification'> & {
|
|
132
|
+
/**
|
|
133
|
+
* Challenge to sign. Defaults to a random 32-byte value.
|
|
134
|
+
*
|
|
135
|
+
* Supply and verify a server-generated challenge when the assertion is
|
|
136
|
+
* also used to authenticate a user to a server.
|
|
137
|
+
*/
|
|
138
|
+
challenge?: Hex.Hex | undefined;
|
|
139
|
+
/** Additional WebAuthn extensions. The `prf` extension is managed by this function. */
|
|
140
|
+
extensions?: Omit<Types.AuthenticationExtensionsClientInputs, 'prf'> | undefined;
|
|
141
|
+
/** Function that requests the WebAuthn credential. */
|
|
142
|
+
getFn?: ((options?: Types.CredentialRequestOptions) => Promise<Types.Credential | null>) | undefined;
|
|
143
|
+
/** Credential-bound PRF configuration. */
|
|
144
|
+
prf: Prf;
|
|
145
|
+
/** Raw credential options cannot be combined with managed PRF evaluation. */
|
|
146
|
+
publicKey?: never;
|
|
147
|
+
};
|
|
148
|
+
/** Result from a WebAuthn credential request. */
|
|
149
|
+
type Response = {
|
|
150
|
+
/** Credential identifier. */
|
|
151
|
+
id: string;
|
|
152
|
+
/** Native WebAuthn credential. */
|
|
153
|
+
raw: Types.PublicKeyCredential;
|
|
154
|
+
};
|
|
155
|
+
type ReturnType = Response & {
|
|
156
|
+
/** Copied 32-byte credential-bound PRF output. */
|
|
157
|
+
prf: Bytes.Bytes;
|
|
158
|
+
};
|
|
159
|
+
type ErrorType = Authentication.getOptions.ErrorType | GetCredentialFailedError | InvalidExtensionError | InvalidOptionsError | InvalidPrfOutputError | PrfEvaluationFailedError | PrfUnavailableError | Errors.GlobalErrorType;
|
|
160
|
+
}
|
|
161
|
+
type PrfResultContext = {
|
|
162
|
+
credential?: Credential.Credential | undefined;
|
|
163
|
+
response?: getCredential.Response | undefined;
|
|
164
|
+
};
|
|
165
|
+
/** Thrown when a caller supplies the managed `prf` extension. */
|
|
166
|
+
export declare class InvalidExtensionError extends Errors.BaseError {
|
|
167
|
+
readonly name = "WebAuthn.InvalidExtensionError";
|
|
168
|
+
constructor();
|
|
169
|
+
}
|
|
170
|
+
/** Thrown when raw credential options are combined with managed PRF evaluation. */
|
|
171
|
+
export declare class InvalidOptionsError extends Errors.BaseError {
|
|
172
|
+
readonly name = "WebAuthn.InvalidOptionsError";
|
|
173
|
+
constructor();
|
|
174
|
+
}
|
|
175
|
+
/** Thrown when a WebAuthn PRF result is not a valid 32-byte output. */
|
|
176
|
+
export declare class InvalidPrfOutputError extends Errors.BaseError {
|
|
177
|
+
/** Credential that returned the invalid PRF output, when created in this operation. */
|
|
178
|
+
readonly credential?: Credential.Credential | undefined;
|
|
179
|
+
/** Authentication response that returned the invalid PRF output, when available. */
|
|
180
|
+
readonly response?: getCredential.Response | undefined;
|
|
181
|
+
readonly name = "WebAuthn.InvalidPrfOutputError";
|
|
182
|
+
constructor({ credential, response, size, }: PrfResultContext & {
|
|
183
|
+
size?: number | undefined;
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
/** Thrown when a created credential does not support PRF evaluation. */
|
|
187
|
+
export declare class PrfNotSupportedError extends Errors.BaseError {
|
|
188
|
+
/** Credential that was created before PRF support was determined. */
|
|
189
|
+
readonly credential: Credential.Credential;
|
|
190
|
+
readonly name = "WebAuthn.PrfNotSupportedError";
|
|
191
|
+
constructor({ credential }: {
|
|
192
|
+
credential: Credential.Credential;
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
/** Thrown when a credential assertion does not return a PRF output. */
|
|
196
|
+
export declare class PrfUnavailableError extends Errors.BaseError {
|
|
197
|
+
/** Authentication response that did not contain a PRF output. */
|
|
198
|
+
readonly response: getCredential.Response;
|
|
199
|
+
readonly name = "WebAuthn.PrfUnavailableError";
|
|
200
|
+
constructor({ response }: {
|
|
201
|
+
response: getCredential.Response;
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
/** Thrown when WebAuthn PRF evaluation fails after a credential ceremony. */
|
|
205
|
+
export declare class PrfEvaluationFailedError extends Errors.BaseError<Error> {
|
|
206
|
+
/** Credential that was created before PRF evaluation failed, when available. */
|
|
207
|
+
readonly credential?: Credential.Credential | undefined;
|
|
208
|
+
/** Authentication response produced before PRF evaluation failed, when available. */
|
|
209
|
+
readonly response?: getCredential.Response | undefined;
|
|
210
|
+
readonly name = "WebAuthn.PrfEvaluationFailedError";
|
|
211
|
+
constructor({ cause, credential, response, }: {
|
|
212
|
+
cause: Error;
|
|
213
|
+
credential?: Credential.Credential | undefined;
|
|
214
|
+
response?: getCredential.Response | undefined;
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
/** Thrown when a WebAuthn credential request fails. */
|
|
218
|
+
export declare class GetCredentialFailedError extends Errors.BaseError<Error> {
|
|
219
|
+
readonly name = "WebAuthn.GetCredentialFailedError";
|
|
220
|
+
constructor({ cause }?: {
|
|
221
|
+
cause?: Error | undefined;
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=WebAuthn.d.ts.map
|