sign.js 611 B

1234567891011121314151617
  1. import { FlattenedSign } from '../flattened/sign.js';
  2. export class CompactSign {
  3. constructor(payload) {
  4. this._flattened = new FlattenedSign(payload);
  5. }
  6. setProtectedHeader(protectedHeader) {
  7. this._flattened.setProtectedHeader(protectedHeader);
  8. return this;
  9. }
  10. async sign(key, options) {
  11. const jws = await this._flattened.sign(key, options);
  12. if (jws.payload === undefined) {
  13. throw new TypeError('use the flattened module for creating JWS with b64: false');
  14. }
  15. return `${jws.protected}.${jws.payload}.${jws.signature}`;
  16. }
  17. }