sign.js 492 B

1234567891011
  1. import subtleAlgorithm from './subtle_dsa.js';
  2. import crypto from './webcrypto.js';
  3. import checkKeyLength from './check_key_length.js';
  4. import getSignKey from './get_sign_verify_key.js';
  5. const sign = async (alg, key, data) => {
  6. const cryptoKey = await getSignKey(alg, key, 'sign');
  7. checkKeyLength(alg, cryptoKey);
  8. const signature = await crypto.subtle.sign(subtleAlgorithm(alg, cryptoKey.algorithm), cryptoKey, data);
  9. return new Uint8Array(signature);
  10. };
  11. export default sign;