12 lines
492 B
JavaScript
12 lines
492 B
JavaScript
|
import subtleAlgorithm from './subtle_dsa.js';
|
||
|
import crypto from './webcrypto.js';
|
||
|
import checkKeyLength from './check_key_length.js';
|
||
|
import getSignKey from './get_sign_verify_key.js';
|
||
|
const sign = async (alg, key, data) => {
|
||
|
const cryptoKey = await getSignKey(alg, key, 'sign');
|
||
|
checkKeyLength(alg, cryptoKey);
|
||
|
const signature = await crypto.subtle.sign(subtleAlgorithm(alg, cryptoKey.algorithm), cryptoKey, data);
|
||
|
return new Uint8Array(signature);
|
||
|
};
|
||
|
export default sign;
|