Commit graph

555 commits

Author SHA1 Message Date
Filip Skokan
74317e335c chore(release): 3.7.1 2021-03-11 15:03:38 +01:00
Filip Skokan
e0adf49e57 fix: swallow invalid signature encoding errors 2021-03-11 14:56:57 +01:00
Filip Skokan
348b83712d docs: fix fromKeyLike example 2021-03-11 09:37:12 +01:00
Filip Skokan
c297a3eb1f ci: ensure latest node is always tested 2021-03-10 15:49:55 +01:00
Filip Skokan
ed612c5769 docs: update readme 2021-03-09 15:22:39 +01:00
Filip Skokan
5110a6b7c6 lint: prettier tests 2021-03-09 10:06:21 +01:00
Filip Skokan
484e04ca8e refactor: use nullish coalescing instead of logical OR 2021-03-03 10:55:22 +01:00
Filip Skokan
e17c305dce chore(release): 3.7.0 2021-03-03 00:23:42 +01:00
Filip Skokan
8fffd3e2e1 feat: electron >=12.0.0 is now supported (and tested on ci) 2021-03-03 00:19:04 +01:00
Filip Skokan
433f020246 fix(electron): properly ASN.1 encode [0x00] when converting RSA JWKs 2021-03-03 00:00:39 +01:00
Filip Skokan
a5a6c4dc9f fix(electron): only call (de)cipher.setAAD() when aad is not empty 2021-03-02 23:58:48 +01:00
Filip Skokan
f7dd3e5bf4 chore(release): 3.6.2 2021-02-16 11:40:55 +01:00
Filip Skokan
2c358e0ea5 fix(typescript): update maxTokenAge type and examples 2021-02-16 11:38:21 +01:00
Filip Skokan
812d0c1fa1 chore(release): 3.6.1 2021-02-10 13:40:49 +01:00
Filip Skokan
d4abf176b7 refactor: deprecate /webcrypto for node 2021-02-10 13:37:27 +01:00
Filip Skokan
31de5cdb23 chore: cleanup package.json 2021-02-10 13:37:27 +01:00
Filip Skokan
fc584b2efd fix: node runtime json fetch handles connection errors properly 2021-02-10 13:36:29 +01:00
Filip Skokan
c037e5907c style: lint cookbooks 2021-02-05 12:43:42 +01:00
Filip Skokan
f56fbfd630 chore(release): 3.6.0 2021-02-04 17:49:31 +01:00
Filip Skokan
e8d41a9335 feat: allow CryptoKey instances in a regular non-webcrypto node runtime 2021-02-04 17:39:28 +01:00
Filip Skokan
eef442cb54 refactor: use long form web crypto algorithm values 2021-02-04 16:53:37 +01:00
Filip Skokan
0b3561181c chore: remove unused interfaces 2021-02-02 09:58:39 +01:00
Filip Skokan
bd1b7c4812 refactor(typescript): dont mess with the node types 2021-01-28 16:25:08 +01:00
Filip Skokan
69a7edea0a refactor: explicit new uint8array arg 2021-01-28 16:16:12 +01:00
Filip Skokan
d2a574818a refactor: remove checking for secure context 2021-01-28 16:13:53 +01:00
Filip Skokan
f717f841cb chore(release): 3.5.4 2021-01-26 23:41:25 +01:00
Filip Skokan
8c29107aea fix: export package.json
closes #157
2021-01-26 23:39:41 +01:00
Filip Skokan
c60953fe64 docs: generate keylike hint 2021-01-22 17:03:42 +01:00
Filip Skokan
9998cb389a refactor: generate_key_pair type returns KeyLike 2021-01-22 14:31:08 +01:00
Filip Skokan
c068e46c68 refactor: src/runtime/node/fetch.ts 2021-01-21 18:16:14 +01:00
Filip Skokan
d9bc1b6d8a chore(release): 3.5.3 2021-01-20 17:08:38 +01:00
Filip Skokan
2e5800535a fix: workaround downstream dependency issues messing with http
ref #154
2021-01-20 17:07:03 +01:00
Filip Skokan
7759a1bd9d chore(release): 3.5.2 2021-01-18 13:52:51 +01:00
Filip Skokan
d1afd477e2 chore: update changelog standard-version types 2021-01-18 13:50:47 +01:00
Filip Skokan
ad88ee2cd5 perf: use KeyObject.prototype asymmetricKeyDetails when available 2021-01-18 13:50:42 +01:00
Filip Skokan
808f06cd08 perf: use 'base64url' encoding when available in Node.js runtime 2021-01-18 13:50:37 +01:00
Filip Skokan
02941146c7 chore(release): 3.5.1 2021-01-10 14:39:32 +01:00
codedust
ed32b0d46e fix: workaround for RangeError in browser runtime base64url
Fixes RangeError in base64url.ts when encrypting large Uint8Arrays

String.fromCharCode.apply causes a RangeError for large Uint8Arrays
(> ~500kB). This happens, e.g., when encrypting larger files.

See this gist to reproduce the bug (select a large file and see the
browser console):
https://gist.github.com/codedust/88c8af3b2acd782e72ffbe0c3c8bf5af

Error message in Firefox:
```
Uncaught (in promise) RangeError: too many arguments provided for a
function call (in base64url.js:8:62)
    encode http://localhost:8000/jose/runtime/base64url.js:8
    encrypt http://localhost:8000/jose/jwe/flattened/encrypt.js:143
```

Error message in Chromium:
```
Uncaught (in promise) RangeError: Maximum call stack size exceeded
    at encode (base64url.js:8)
    at FlattenedEncrypt.encrypt (encrypt.js:143)
    at async CompactEncrypt.encrypt (encrypt.js:23)
    at async jwe_test ((index):55)
```

Solution: Apply String.fromCharCode.apply in chunks of 32768 bytes,
see https://stackoverflow.com/a/12713326
2021-01-10 14:33:30 +01:00
Filip Skokan
a6fcd416ea build: update dev deps 2021-01-10 14:32:43 +01:00
Filip Skokan
3ebe3756fe style: use <> type casting syntax in embedded.ts 2021-01-10 14:32:36 +01:00
Filip Skokan
f362f6fde1 refactor: rename combinedHeader in embedded.ts 2021-01-10 14:32:27 +01:00
Filip Skokan
2ec9ba5d58 ci: reenable ff latest 2020-12-30 14:04:22 +01:00
Filip Skokan
6a6923b19a chore: discussion links with category preselected 2020-12-30 10:33:55 +01:00
Filip Skokan
71d35a7d0e docs: update unsecured jwt docs 2020-12-29 10:27:29 +01:00
Filip Skokan
3dcee918e8 docs: update readme.md 2020-12-29 10:11:20 +01:00
Filip Skokan
b024f96c57 ci: pause ff84 in ci 2020-12-22 19:45:37 +01:00
Filip Skokan
c886f77c6a refactor: catch and rethrow atob invalid inputs as TypeError
resolves #134
2020-12-22 19:24:16 +01:00
Filip Skokan
1bad86bc2e docs: update docs 2020-12-21 19:03:10 +01:00
Filip Skokan
5745a6af42 docs: reword decodeProtectedHeader 2020-12-17 23:40:20 +01:00
Filip Skokan
2d58cbcf12 refactor: check general jws sign recipients length 2020-12-17 19:02:07 +01:00