2026-02-10 15:54:09 +00:00
|
|
|
import * as plugins from '../../plugins.js';
|
2026-02-10 20:30:43 +00:00
|
|
|
import { RustSecurityBridge } from '../../security/classes.rustsecuritybridge.js';
|
2026-02-10 15:54:09 +00:00
|
|
|
export class EmailSignJob {
|
|
|
|
|
emailServerRef;
|
|
|
|
|
jobOptions;
|
|
|
|
|
constructor(emailServerRef, options) {
|
|
|
|
|
this.emailServerRef = emailServerRef;
|
|
|
|
|
this.jobOptions = options;
|
|
|
|
|
}
|
|
|
|
|
async loadPrivateKey() {
|
|
|
|
|
const keyInfo = await this.emailServerRef.dkimCreator.readDKIMKeys(this.jobOptions.domain);
|
|
|
|
|
return keyInfo.privateKey;
|
|
|
|
|
}
|
|
|
|
|
async getSignatureHeader(emailMessage) {
|
|
|
|
|
const privateKey = await this.loadPrivateKey();
|
2026-02-10 20:30:43 +00:00
|
|
|
const bridge = RustSecurityBridge.getInstance();
|
|
|
|
|
const signResult = await bridge.signDkim({
|
|
|
|
|
rawMessage: emailMessage,
|
|
|
|
|
domain: this.jobOptions.domain,
|
2026-02-10 15:54:09 +00:00
|
|
|
selector: this.jobOptions.selector,
|
|
|
|
|
privateKey,
|
|
|
|
|
});
|
2026-02-10 20:30:43 +00:00
|
|
|
return signResult.header;
|
2026-02-10 15:54:09 +00:00
|
|
|
}
|
|
|
|
|
}
|
2026-02-10 20:30:43 +00:00
|
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5lbWFpbHNpZ25qb2IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9tYWlsL2RlbGl2ZXJ5L2NsYXNzZXMuZW1haWxzaWduam9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFFNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFhbEYsTUFBTSxPQUFPLFlBQVk7SUFDdkIsY0FBYyxDQUFxQjtJQUNuQyxVQUFVLENBQXVCO0lBRWpDLFlBQVksY0FBa0MsRUFBRSxPQUE2QjtRQUMzRSxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRixPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDNUIsQ0FBQztJQUVNLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxZQUFvQjtRQUNsRCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMvQyxNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoRCxNQUFNLFVBQVUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDdkMsVUFBVSxFQUFFLFlBQVk7WUFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTtZQUM5QixRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRO1lBQ2xDLFVBQVU7U0FDWCxDQUFDLENBQUM7UUFDSCxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztDQUNGIn0=
|