Commit graph

36 commits

Author SHA1 Message Date
Filip Skokan
28d7cf8c78 feat: add RSA-OAEP-256 support (when a node version supports it)
resolves #29
2019-08-20 19:22:42 +02:00
Filip Skokan
211d7af5db feat: add secp256k1 EC Key curve and ES256K
This is as per
- https://tools.ietf.org/html/draft-ietf-cose-webauthn-algorithms-01
- https://mailarchive.ietf.org/arch/msg/cose/91MouVA43DefbpQOB7l5daCEeIc
2019-07-08 22:04:29 +02:00
Filip Skokan
23b874cc20 feat: add JWK key_ops support, fix .algorithms() op returns
BREAKING CHANGE: key.algorithms(op) un+wrapKey was split into correct
wrapKey/unwrapKey/deriveKey returns

BREAKING CHANGE: keystore.all and keystore.get `operation` option was
removed, `key_ops: string[]` supersedes it
2019-04-23 14:30:51 +02:00
Filip Skokan
1159b0df4e feat: add key.toPEM() export function with optional encryption 2019-04-23 14:30:50 +02:00
Filip Skokan
2dbd3ed43a feat: add OKP Key and EdDSA sign/verify support
BREAKING CHANGE: node.js minimal version is now v12.0.0 due to its
added EdDSA support (crypto.sign, crypto.verify and eddsa key objects)

resolves #12
2019-04-23 14:30:49 +02:00
Filip Skokan
e21fea106b revert: add EC P-256K JWK and ES256K sign/verify support
BREAKING CHANGE: removing ES256K alg and EC P-256K crv support until the
IETF WG decides on what the final names will be.
2019-04-07 14:13:10 +02:00
Filip Skokan
2e33e1cc2b feat: add EC P-256K JWK and ES256K sign/verify support 2019-03-27 10:35:02 +01:00
Filip Skokan
6172bcb18e refactor: dry resolveNodeAlg 2019-03-26 12:57:21 +01:00
Filip Skokan
e936d547ce fix: use correct salt length for RSASSA-PSS
https://tools.ietf.org/html/rfc7518 section 3.5 states that the size of
the salt value is the same size as the hash function output.

This is to accomodate that requirement and achieve interop with other
conform implementations. This also prompted enforcing the proper key
sizes.
2019-03-16 09:48:47 +01:00
Filip Skokan
be215f48cd test: check unsupported JWA algorithms 2019-03-11 22:35:00 +01:00
Filip Skokan
6fe5cfc7be refactor: call out ECDH-ES specificly during KW 2019-03-11 22:21:56 +01:00
Filip Skokan
17b37d3dc9 fix: do not list "dir" under wrap/unwrapKey operations
BREAKING CHANGE: "dir" is no longer returned as wrap/unwrapKey key
operation
2019-03-11 21:51:13 +01:00
Filip Skokan
2ad441831d refactor: use import rather then new 2019-03-11 21:28:45 +01:00
Filip Skokan
6453e1ffc9 refactor: require order and base64url split encode buffer/string 2019-03-06 22:12:43 +01:00
Filip Skokan
4460c4c88f refactor: key keyObject property is private 2019-02-28 21:08:31 +01:00
Filip Skokan
cb718b545b feat: add JWE zip support 2019-02-21 23:39:32 +01:00
Filip Skokan
7bc3cc4c71 feat: resolving alg/enc, crit members, add tests 2019-02-20 23:12:08 +01:00
Filip Skokan
869438c798 refactor: jwe/jws serializer detection 2019-02-19 23:30:57 +01:00
Filip Skokan
505fe3c35d test: enc/dec input check tests 2019-02-17 09:29:44 +01:00
Filip Skokan
cc89d4e02b refactor: cleanup, TODO chores 2019-02-10 21:39:59 +01:00
Filip Skokan
775ea638b6 chore: cleanup 2019-02-10 17:45:55 +01:00
Filip Skokan
05251b81c6 feat: add messy encrypt/decrypt structure and shorthands 2019-02-09 20:04:15 +01:00
Filip Skokan
ac1bb358d7 test: jwe cookbook decrypt 2019-02-09 19:26:02 +01:00
Filip Skokan
91c7b5009d refactor: ecdh derive 2019-02-08 22:35:33 +01:00
Filip Skokan
96b2d479b5 refactor: timing safe equal 2019-02-08 21:11:13 +01:00
Filip Skokan
9ab3016d76 feat: generateSync 2019-02-08 20:56:34 +01:00
Filip Skokan
f3265330c8 feat: add ECDH-ES direct and key agreement KW 2019-01-27 19:20:32 +01:00
Filip Skokan
dae457913f feat: add PBES2 KW 2019-01-27 11:17:30 +01:00
Filip Skokan
2e6a9c6aaf refactor: separate uint64be 2019-01-27 07:47:15 +01:00
Filip Skokan
ac38a1a2f8 feat: add AES KW 2019-01-26 20:28:58 +01:00
Filip Skokan
3b278f1b6b feat: add AES GCM encrypt and KW 2019-01-26 19:52:09 +01:00
Filip Skokan
b247fc33df feat: encryption with AES_CBC_HMAC_SHA2 2019-01-26 14:24:12 +01:00
Filip Skokan
b44e15fbb8 feat: rsa key wrap/unwrap 2019-01-26 14:22:20 +01:00
Filip Skokan
2d32176b10 refactor: sign/verify order unified 2019-01-26 14:21:03 +01:00
Filip Skokan
faa45bc03b refactor: remove generic errors 2019-01-20 19:37:27 +01:00
Filip Skokan
c4e2636c0e refactor: move jwa away from keys 2018-12-08 15:17:21 +01:00