| 115 | } |
| 116 | |
| 117 | const base64UrlToArrayBuffer = string => { |
| 118 | const base64String = string.replace(/-/g, '+').replace(/_/g, '/'); |
| 119 | const binaryString = atob(base64String); |
| 120 | const len = binaryString.length; |
| 121 | const bytes = new Uint8Array(len); |
| 122 | for (let i = 0; i < len; i++) { |
| 123 | bytes[i] = binaryString.charCodeAt(i); |
| 124 | } |
| 125 | return bytes.buffer; |
| 126 | } |
| 127 | |
| 128 | const decryptFile = async (encryptedData, encodedKey, encodedIv, mimeType, fileName) => { |
| 129 | const rawKey = base64UrlToArrayBuffer(encodedKey); |