Add node modules and compiled JavaScript from main (#54)
Co-authored-by: Oliver King <oking3@uncc.edu>
This commit is contained in:
committed by
GitHub
parent
4a983766a0
commit
52d71d28bd
31
node_modules/jose/lib/jwa/ecdh/dir.js
generated
vendored
Normal file
31
node_modules/jose/lib/jwa/ecdh/dir.js
generated
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
const { improvedDH } = require('../../help/runtime_support')
|
||||
const { KEYLENGTHS } = require('../../registry')
|
||||
const { generateSync } = require('../../jwk/generate')
|
||||
|
||||
const derive = require('./derive')
|
||||
|
||||
const wrapKey = (key, payload, { enc }) => {
|
||||
const epk = generateSync(key.kty, key.crv)
|
||||
|
||||
const derivedKey = derive(enc, KEYLENGTHS.get(enc), epk, key)
|
||||
|
||||
return {
|
||||
wrapped: derivedKey,
|
||||
header: { epk: { kty: key.kty, crv: key.crv, x: epk.x, y: epk.y } }
|
||||
}
|
||||
}
|
||||
|
||||
const unwrapKey = (key, payload, header) => {
|
||||
const { enc, epk } = header
|
||||
return derive(enc, KEYLENGTHS.get(enc), key, epk, header)
|
||||
}
|
||||
|
||||
module.exports = (JWA, JWK) => {
|
||||
JWA.keyManagementEncrypt.set('ECDH-ES', wrapKey)
|
||||
JWA.keyManagementDecrypt.set('ECDH-ES', unwrapKey)
|
||||
JWK.EC.deriveKey['ECDH-ES'] = key => (key.use === 'enc' || key.use === undefined) && key.crv !== 'secp256k1'
|
||||
|
||||
if (improvedDH) {
|
||||
JWK.OKP.deriveKey['ECDH-ES'] = key => (key.use === 'enc' || key.use === undefined) && key.keyObject.asymmetricKeyType.startsWith('x')
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user