Remove webcrypto polyfill, as it's no longer needed
This commit is contained in:
parent
4eb8bc1249
commit
810fcf9910
11 changed files with 11 additions and 10364 deletions
|
@ -1,30 +1 @@
|
|||
import {NativeModules} from 'react-native'
|
||||
const {AppSecureRandomModule} = NativeModules
|
||||
import {toByteArray} from 'base64-js'
|
||||
// @ts-ignore we dont have types for this -prf
|
||||
import crypto from '../third-party/msrcrypto'
|
||||
import '@zxing/text-encoding' // TextEncoder / TextDecoder
|
||||
|
||||
async function generateSecureRandom(bytes: number) {
|
||||
return toByteArray(
|
||||
await AppSecureRandomModule.generateSecureRandomAsBase64(bytes),
|
||||
)
|
||||
}
|
||||
|
||||
export const whenWebCrypto = new Promise(async (resolve, reject) => {
|
||||
try {
|
||||
const bytes = await generateSecureRandom(48)
|
||||
crypto.initPrng(Array.from(bytes))
|
||||
|
||||
// @ts-ignore global.window exists -prf
|
||||
if (!global.window.crypto) {
|
||||
// @ts-ignore global.window exists -prf
|
||||
global.window.crypto = crypto
|
||||
}
|
||||
resolve(true)
|
||||
} catch (e: any) {
|
||||
reject(e)
|
||||
}
|
||||
})
|
||||
|
||||
export const webcrypto = crypto
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue