From 3ae42d1a881d8b6969c0c7e22296c2604f915a3d Mon Sep 17 00:00:00 2001 From: Krille Fear Date: Wed, 13 Oct 2021 13:51:37 +0200 Subject: [PATCH] fix: Type error when using CryptoKey in dart web In Dart Web when using CryptoKey we get a type error. When using the html version of it it seems to work fine. --- lib/src/utils/crypto/subtle.dart | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/lib/src/utils/crypto/subtle.dart b/lib/src/utils/crypto/subtle.dart index a850344e..a96ea31c 100644 --- a/lib/src/utils/crypto/subtle.dart +++ b/lib/src/utils/crypto/subtle.dart @@ -9,9 +9,6 @@ import 'dart:async'; import 'dart:js_util'; import 'dart:typed_data'; -@JS() -class CryptoKey {} - @JS() @anonymous class Pbkdf2Params { @@ -41,16 +38,16 @@ class AesCtrParams { } @JS('crypto.subtle.encrypt') -external dynamic _encrypt(dynamic algorithm, CryptoKey key, Uint8List data); +external dynamic _encrypt(dynamic algorithm, dynamic key, Uint8List data); -Future encrypt(dynamic algorithm, CryptoKey key, Uint8List data) { +Future encrypt(dynamic algorithm, dynamic key, Uint8List data) { return promiseToFuture(_encrypt(algorithm, key, data)); } @JS('crypto.subtle.decrypt') -external dynamic _decrypt(dynamic algorithm, CryptoKey key, Uint8List data); +external dynamic _decrypt(dynamic algorithm, dynamic key, Uint8List data); -Future decrypt(dynamic algorithm, CryptoKey key, Uint8List data) { +Future decrypt(dynamic algorithm, dynamic key, Uint8List data) { return promiseToFuture(_decrypt(algorithm, key, data)); } @@ -58,34 +55,33 @@ Future decrypt(dynamic algorithm, CryptoKey key, Uint8List data) { external dynamic _importKey(String format, dynamic keyData, dynamic algorithm, bool extractable, List keyUsages); -Future importKey(String format, dynamic keyData, dynamic algorithm, +Future importKey(String format, dynamic keyData, dynamic algorithm, bool extractable, List keyUsages) { return promiseToFuture( _importKey(format, keyData, algorithm, extractable, keyUsages)); } @JS('crypto.subtle.exportKey') -external dynamic _exportKey(String algorithm, CryptoKey key); +external dynamic _exportKey(String algorithm, dynamic key); -Future exportKey(String algorithm, CryptoKey key) { +Future exportKey(String algorithm, dynamic key) { return promiseToFuture(_exportKey(algorithm, key)); } @JS('crypto.subtle.deriveKey') -external dynamic _deriveKey(dynamic algorithm, CryptoKey baseKey, +external dynamic _deriveKey(dynamic algorithm, dynamic baseKey, dynamic derivedKeyAlgorithm, bool extractable, List keyUsages); -Future deriveKey(dynamic algorithm, CryptoKey baseKey, +Future deriveKey(dynamic algorithm, dynamic baseKey, dynamic derivedKeyAlgorithm, bool extractable, List keyUsages) { return promiseToFuture(_deriveKey( algorithm, baseKey, derivedKeyAlgorithm, extractable, keyUsages)); } @JS('crypto.subtle.deriveBits') -external dynamic _deriveBits(dynamic algorithm, CryptoKey baseKey, int length); +external dynamic _deriveBits(dynamic algorithm, dynamic baseKey, int length); -Future deriveBits( - dynamic algorithm, CryptoKey baseKey, int length) { +Future deriveBits(dynamic algorithm, dynamic baseKey, int length) { return promiseToFuture(_deriveBits(algorithm, baseKey, length)); }