Skip to content
Snippets Groups Projects
Commit 2af17849 authored by Igor Markin's avatar Igor Markin
Browse files

Get rid of cipher service

parent 24a1824e
No related branches found
No related tags found
No related merge requests found
export * from "./services/CipherService";
export * from "./services/ObfuscationService";
export * from "./utils";
export { default as CDNService } from "./services/CDNService";
......
......@@ -24,7 +24,6 @@ var __exportStar =
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.VerificationError = exports.VerificationService = exports.CDNService = void 0;
__exportStar(require("./services/CipherService"), exports);
__exportStar(require("./services/ObfuscationService"), exports);
__exportStar(require("./utils"), exports);
var CDNService_1 = require("./services/CDNService");
......
export * from "./services/CipherService";
export * from "./services/ObfuscationService";
export * from "./utils";
export { default as CDNService } from "./services/CDNService";
......
interface AESCGMEncrypted {
iv: Buffer;
encrypted: ArrayBuffer;
}
export async function generateAESKey(): Promise<CryptoKey> {
return await crypto.subtle.generateKey(
{
name: "AES-GCM",
length: 256,
},
true,
["encrypt", "decrypt"]
);
}
export async function exportKey(key: CryptoKey): Promise<ArrayBuffer> {
return crypto.subtle.exportKey("raw", key);
}
export async function encryptAES(
string: string,
key: CryptoKey
): Promise<AESCGMEncrypted> {
const encoded = new TextEncoder().encode(string);
const iv = crypto.getRandomValues(new Buffer(12));
const encrypted = await crypto.subtle.encrypt(
{ name: "AES-GCM", iv: iv },
key,
encoded
);
return { encrypted: encrypted, iv: iv };
}
export async function decryptAES(
encrypted: ArrayBuffer,
iv: Buffer,
key: CryptoKey
): Promise<string> {
const decrypted = await crypto.subtle.decrypt(
{ name: "AES-GCM", iv: iv },
key,
encrypted
);
return new TextDecoder().decode(decrypted);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment