32 lines
1.0 KiB
Plaintext
32 lines
1.0 KiB
Plaintext
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.CompactEncrypt = void 0;
|
|
const encrypt_js_1 = require("../flattened/encrypt.js");
|
|
class CompactEncrypt {
|
|
_flattened;
|
|
constructor(plaintext) {
|
|
this._flattened = new encrypt_js_1.FlattenedEncrypt(plaintext);
|
|
}
|
|
setContentEncryptionKey(cek) {
|
|
this._flattened.setContentEncryptionKey(cek);
|
|
return this;
|
|
}
|
|
setInitializationVector(iv) {
|
|
this._flattened.setInitializationVector(iv);
|
|
return this;
|
|
}
|
|
setProtectedHeader(protectedHeader) {
|
|
this._flattened.setProtectedHeader(protectedHeader);
|
|
return this;
|
|
}
|
|
setKeyManagementParameters(parameters) {
|
|
this._flattened.setKeyManagementParameters(parameters);
|
|
return this;
|
|
}
|
|
async encrypt(key, options) {
|
|
const jwe = await this._flattened.encrypt(key, options);
|
|
return [jwe.protected, jwe.encrypted_key, jwe.iv, jwe.ciphertext, jwe.tag].join('.');
|
|
}
|
|
}
|
|
exports.CompactEncrypt = CompactEncrypt;
|