Delegate Registration
Request Spec
const cryptoObj = typeof window !== "undefined" ? window.crypto : crypto;
const decrypt = async (algo, key, data) => {
try {
const decryptedResult = await cryptoObj.subtle.decrypt(algo, key, data);
return decryptedResult;
} catch (error) {
console.error("Decryption error:", error);
throw error;
}
};
const aesDecrypt = async (
cipherText: string,
encryptionKey: BufferSource,
keyFormat: "raw" = "raw",
keyLength: number = 256
) => {
if (!encryptionKey) {
throw Error("Encryption key not initialized");
}
let cryptoKey: CryptoKey;
let decryptedData: ArrayBuffer;
try {
const combined = Uint8Array.from(atob(cipherText), (c) => c.charCodeAt(0));
const iv = combined.slice(0, 12);
const encryptedData = combined.slice(12);
cryptoKey = await importKey(keyFormat, encryptionKey, { name: "AES-GCM", length: keyLength }, [
"decrypt",
]);
decryptedData = await decrypt({ name: "AES-GCM", iv }, cryptoKey, encryptedData);
const decoder = new TextDecoder();
return decoder.decode(new Uint8Array(decryptedData));
} catch (error) {
console.error("AES-GCM Decryption error:", error);
throw error;
}
};Response Spec
Request Example
Response Example
Last updated