param-bytes-for-alg.js
1 'use strict'; 2 3 function getParamSize(keySize) { 4 var result = ((keySize / 8) | 0) + (keySize % 8 === 0 ? 0 : 1); 5 return result; 6 } 7 8 var paramBytesForAlg = { 9 ES256: getParamSize(256), 10 ES384: getParamSize(384), 11 ES512: getParamSize(521) 12 }; 13 14 function getParamBytesForAlg(alg) { 15 var paramBytes = paramBytesForAlg[alg]; 16 if (paramBytes) { 17 return paramBytes; 18 } 19 20 throw new Error('Unknown algorithm "' + alg + '"'); 21 } 22 23 module.exports = getParamBytesForAlg;