chore: update dev deps

This commit is contained in:
Filip Skokan 2021-08-30 11:59:04 +02:00
parent 3993462e8c
commit 455f43e656
4 changed files with 32 additions and 26 deletions

View file

@ -365,24 +365,24 @@
"prettier": "npx prettier --loglevel silent --write ./test ./src ./tools ./test-browser ./test-deno"
},
"devDependencies": {
"@types/node": "^16.6.2",
"@types/node": "^16.7.6",
"ava": "^3.15.0",
"bowser": "^2.11.0",
"c8": "^7.8.0",
"esbuild": "^0.12.21",
"esbuild": "^0.12.24",
"glob": "^7.1.7",
"karma": "^6.3.4",
"karma-browserstack-launcher": "1.6.0",
"karma-qunit": "^4.1.2",
"karma-summary-reporter": "^2.0.2",
"nock": "^13.1.1",
"nock": "^13.1.3",
"npm-run-all": "^4.1.5",
"prettier": "^2.3.2",
"qunit": "^2.16.0",
"tar": "^6.1.10",
"tar": "^6.1.11",
"timekeeper": "^2.2.0",
"typedoc": "^0.21.6",
"typedoc": "^0.21.9",
"typedoc-plugin-markdown": "^3.10.4",
"typescript": "^4.3.5"
"typescript": "^4.4.2"
}
}

View file

@ -56,14 +56,12 @@ export const generateEpk: GenerateEpkFunction = async (key: unknown) => {
throw new TypeError(invalidKeyInput(key, 'CryptoKey'))
}
return (
await crypto.subtle.generateKey(
// @deno-expect-error
{ name: 'ECDH', namedCurve: (<EcKeyAlgorithm>key.algorithm).namedCurve },
true,
['deriveBits'],
)
).privateKey
return (<{ publicKey: CryptoKey; privateKey: CryptoKey }>await crypto.subtle.generateKey(
// @deno-expect-error
{ name: 'ECDH', namedCurve: (<EcKeyAlgorithm>key.algorithm).namedCurve },
true,
['deriveBits'],
)).privateKey
}
export const ecdhAllowed: EcdhAllowedFunction = (key: unknown) => {

View file

@ -120,7 +120,7 @@ export async function generateKeyPair(alg: string, options?: GenerateKeyPairOpti
throw new JOSENotSupported('unsupported or invalid JWK "alg" (Algorithm) Parameter value')
}
return <Promise<CryptoKeyPair>>(
return <Promise<{ publicKey: CryptoKey; privateKey: CryptoKey }>>(
crypto.subtle.generateKey(algorithm, options?.extractable ?? false, keyUsages)
)
}

View file

@ -110,20 +110,28 @@ function subtleMapping(jwk: JWK): {
const parse: JWKParseFunction = async (jwk: JWK): Promise<CryptoKey> => {
const { algorithm, keyUsages } = subtleMapping(jwk)
let format = 'jwk'
let keyData: JWK | Uint8Array = { ...jwk }
delete keyData.alg
if (algorithm.name === 'PBKDF2') {
format = 'raw'
keyData = base64url(jwk.k!)
}
return crypto.subtle.importKey(
// @deno-expect-error
format,
keyData,
// @deno-expect-error
const rest: [RsaHashedImportParams | EcKeyAlgorithm | Algorithm, boolean, KeyUsage[]] = [
algorithm,
jwk.ext ?? false,
<KeyUsage[]>jwk.key_ops ?? keyUsages,
]
if (algorithm.name === 'PBKDF2') {
return crypto.subtle.importKey(
'raw',
base64url(jwk.k!),
...rest,
)
}
const keyData: JWK = { ...jwk }
delete keyData.alg
return crypto.subtle.importKey(
// @deno-expect-error
'jwk',
keyData,
...rest,
)
}
export default parse