{"version":3,"file":"MsrBrowserCrypto.js","sources":["../../src/crypto/MsrBrowserCrypto.ts"],"sourcesContent":["/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { KEY_FORMAT_JWK } from \"../utils/BrowserConstants\";\r\nimport { ISubtleCrypto } from \"./ISubtleCrypto\";\r\n\r\ndeclare global {\r\n interface Window {\r\n msrCrypto: Crypto & {\r\n initPrng: (entropy: Uint8Array | number[]) => void\r\n }\r\n }\r\n}\r\n\r\nexport class MsrBrowserCrypto implements ISubtleCrypto {\r\n initPrng(entropy : Uint8Array): void {\r\n // Turn into array, as initPrng seems to not always like Uint8Array (even though it should support both)\r\n return window.msrCrypto.initPrng([...entropy]);\r\n }\r\n\r\n getRandomValues(dataBuffer: Uint8Array): Uint8Array {\r\n return window.msrCrypto.getRandomValues(dataBuffer);\r\n }\r\n\r\n async generateKey(algorithm: RsaHashedKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise {\r\n return window.msrCrypto.subtle.generateKey(algorithm, extractable, keyUsages) as Promise;\r\n }\r\n\r\n async exportKey(key: CryptoKey): Promise {\r\n return window.msrCrypto.subtle.exportKey(KEY_FORMAT_JWK, key) as Promise as Promise;\r\n }\r\n\r\n async importKey(keyData: JsonWebKey, algorithm: RsaHashedImportParams, extractable: boolean, keyUsages: KeyUsage[]): Promise {\r\n return window.msrCrypto.subtle.importKey(KEY_FORMAT_JWK, keyData, algorithm, extractable, keyUsages) as Promise;\r\n }\r\n\r\n async sign(algorithm: AlgorithmIdentifier, key: CryptoKey, data: ArrayBuffer): Promise {\r\n return window.msrCrypto.subtle.sign(algorithm, key, data) as Promise;\r\n }\r\n\r\n async digest(algorithm: AlgorithmIdentifier, data: Uint8Array): Promise {\r\n return window.msrCrypto.subtle.digest(algorithm, data) as Promise; \r\n }\r\n}\r\n"],"names":[],"mappings":";;;;;AAAA;;;;;IAgBA;KA6BC;IA5BG,mCAAQ,GAAR,UAAS,OAAoB;;QAEzB,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,UAAK,OAAO,EAAE,CAAC;KAClD;IAED,0CAAe,GAAf,UAAgB,UAAsB;QAClC,OAAO,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;KACvD;IAEK,sCAAW,GAAjB,UAAkB,SAAgC,EAAE,WAAoB,EAAE,SAAqB;;;gBAC3F,sBAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAA2B,EAAC;;;KAC3G;IAEK,oCAAS,GAAf,UAAgB,GAAc;;;gBAC1B,sBAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,CAA+C,EAAC;;;KAC/G;IAEK,oCAAS,GAAf,UAAgB,OAAmB,EAAE,SAAgC,EAAE,WAAoB,EAAE,SAAqB;;;gBAC9G,sBAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAuB,EAAC;;;KAC9H;IAEK,+BAAI,GAAV,UAAW,SAA8B,EAAE,GAAc,EAAE,IAAiB;;;gBACxE,sBAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAyB,EAAC;;;KACrF;IAEK,iCAAM,GAAZ,UAAa,SAA8B,EAAE,IAAgB;;;gBACzD,sBAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAyB,EAAC;;;KAClF;IACL,uBAAC;AAAD,CAAC;;;;"}