jose/lib/jwk/generate.js
2019-03-11 21:28:45 +01:00

34 lines
856 B
JavaScript

const errors = require('../errors')
const RSAKey = require('./key/rsa')
const ECKey = require('./key/ec')
const OctKey = require('./key/oct')
const generate = async (kty, ...args) => {
switch (kty) {
case 'RSA':
return RSAKey.generate(...args)
case 'EC':
return ECKey.generate(...args)
case 'oct':
return OctKey.generate(...args)
default:
throw new errors.JOSENotSupported(`unsupported key type: ${kty}`)
}
}
const generateSync = (kty, ...args) => {
switch (kty) {
case 'RSA':
return RSAKey.generateSync(...args)
case 'EC':
return ECKey.generateSync(...args)
case 'oct':
return OctKey.generateSync(...args)
default:
throw new errors.JOSENotSupported(`unsupported key type: ${kty}`)
}
}
module.exports.generate = generate
module.exports.generateSync = generateSync