18

In MS Bordo seguente codice Scartare funziona:funzione unwrapKey con AES-KW non funziona in IE11

window.crypto.subtle.unwrapKey(
           "raw", 
           wrappedKey, 
           derivedKey, 
           { "name": "AES-KW", iv: iv }, 
           { "name": "AES-CBC", iv: iv }, 
           false, 
           ["decrypt"] 
          ) 

L'implementazione IE11 si basa su una versione incompiuta delle API W3C WebCrypto, c'è un documentation ma ci isn C'è un codice di esempio disponibile e i miei tentativi non hanno funzionato finora. In seguito non genera un errore sul IE11 ma la chiave risultante è nullo:

window.msCrypto.subtle.unwrapKey(
            wrappedKey,           
            { 
             "name": "AES-KW", 
             iv: iv 
            }, 
            e.target.result, 
            false, 
            ["decrypt"] 
           ) 

Ecco la JSFiddle che è possibile eseguire.

+0

Così come rif ... sto ottenendo un errore sia in Edge e IE11, Sembra di essere stati inghiottiti. Immagino che questa non sia la tua piena attuazione. Riesci a isolare un sottoinsieme di ciò che esattamente non funziona? Ottengo StringToArrayBuffer non è una funzione in Edge. In IE11, ho l'impostazione su incompleto su undefined. – Goblinlord

+0

Ho aggiornato il codice, StringToArrayBuffer non è necessario in IE11 solo in altri browser, altrimenti il ​​codice è completo per test di purporses. – David

risposta

1

si potrebbe usare uno spessore, come webcrypto-shim per fissare l'attuazione incompleta di IE11

+0

Intendi risolvere il problema, sì, lo abbiamo fatto, ma ciò influisce sulle prestazioni della soluzione, tra le altre conseguenze. – David

+0

Certo, ma non penso che tu possa mirare a qualcosa di meglio di quello sul fronte IE11 ... – alebianco