1 | const { randomBytes } = require('crypto')
|
2 |
|
3 | const { createSecretKey } = require('../help/key_object')
|
4 | const { KEYLENGTHS } = require('../registry')
|
5 | const Key = require('../jwk/key/oct')
|
6 |
|
7 | module.exports = (alg) => {
|
8 | const keyLength = KEYLENGTHS.get(alg)
|
9 |
|
10 | if (!keyLength) {
|
11 | return new Key({ type: 'secret' })
|
12 | }
|
13 |
|
14 | return new Key(createSecretKey(randomBytes(keyLength / 8)), { use: 'enc', alg })
|
15 | }
|