18

auf MS Rand folgende Abwickeln Code arbeiten arbeitet:unwrapKey Funktion mit AES-KW nicht in IE11

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

Die IE11 Implementierung auf einer unfertigen Version des W3C WebCrypto APIs basiert, gibt es eine documentation aber es isn Es ist kein Beispielcode verfügbar und meine Versuche haben bisher nicht funktioniert. Im Anschluss an einen Fehler nicht auf IE11 werfen, aber der resultierende Schlüssel ist null:

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

Hier ist die JSFiddle, die Sie ausführen können.

+0

So wie ref zu beheben ... Ich bin einen Fehler sowohl in Kanten- und IE11 immer, es sieht aus wie sie verschluckt wurden. Ich schätze, das ist nicht Ihre vollständige Implementierung. Kannst du eine Teilmenge davon isolieren, was genau nicht funktioniert? Ich bekomme StringToArrayBuffer ist keine Funktion in Edge. In IE11 bekomme ich die Einstellung unvollständig auf undefiniert. – Goblinlord

+0

Ich habe den Code aktualisiert, StringToArrayBuffer wird in IE11 nur in anderen Browsern nicht benötigt, sonst ist der Code zum Testen von Purpurses komplett. – David

Antwort

1

Sie könnten einen Shim, wie webcrypto-shim verwenden, um die unvollständige Umsetzung von IE11

+0

Sie meinen, es zu umgehen, ja, wir haben das getan, aber dies beeinflusst die Leistung der Lösung neben anderen Folgen. – David

+0

Sicher, aber ich denke nicht, dass Sie etwas besseres als das auf der IE11 Front anstreben können ... – alebianco