From 0ac8c1ba1dd1311ceb78b66fafd50e302fc6f355 Mon Sep 17 00:00:00 2001 From: Daniel Huigens Date: Thu, 19 Dec 2024 17:30:41 +0100 Subject: [PATCH] Make return types of SubtleCrypto methods more specific (#388) Also, reformat the WebIDL. --- spec/Overview.html | 117 +++++++++++++++++++++++++++------------------ 1 file changed, 71 insertions(+), 46 deletions(-) diff --git a/spec/Overview.html b/spec/Overview.html index 1d098e0..7ae6339 100644 --- a/spec/Overview.html +++ b/spec/Overview.html @@ -1231,52 +1231,77 @@

SubtleCrypto interface

[SecureContext,Exposed=(Window,Worker)] interface SubtleCrypto { - Promise<any> encrypt(AlgorithmIdentifier algorithm, - CryptoKey key, - BufferSource data); - Promise<any> decrypt(AlgorithmIdentifier algorithm, - CryptoKey key, - BufferSource data); - Promise<any> sign(AlgorithmIdentifier algorithm, - CryptoKey key, - BufferSource data); - Promise<any> verify(AlgorithmIdentifier algorithm, - CryptoKey key, - BufferSource signature, - BufferSource data); - Promise<any> digest(AlgorithmIdentifier algorithm, - BufferSource data); - - Promise<any> generateKey(AlgorithmIdentifier algorithm, - boolean extractable, - sequence<KeyUsage> keyUsages ); - Promise<any> deriveKey(AlgorithmIdentifier algorithm, - CryptoKey baseKey, - AlgorithmIdentifier derivedKeyType, - boolean extractable, - sequence<KeyUsage> keyUsages ); - Promise<ArrayBuffer> deriveBits(AlgorithmIdentifier algorithm, - CryptoKey baseKey, - optional unsigned long? length = null); - - Promise<CryptoKey> importKey(KeyFormat format, - (BufferSource or JsonWebKey) keyData, - AlgorithmIdentifier algorithm, - boolean extractable, - sequence<KeyUsage> keyUsages ); - Promise<any> exportKey(KeyFormat format, CryptoKey key); - - Promise<any> wrapKey(KeyFormat format, - CryptoKey key, - CryptoKey wrappingKey, - AlgorithmIdentifier wrapAlgorithm); - Promise<CryptoKey> unwrapKey(KeyFormat format, - BufferSource wrappedKey, - CryptoKey unwrappingKey, - AlgorithmIdentifier unwrapAlgorithm, - AlgorithmIdentifier unwrappedKeyAlgorithm, - boolean extractable, - sequence<KeyUsage> keyUsages ); + Promise<ArrayBuffer> encrypt( + AlgorithmIdentifier algorithm, + CryptoKey key, + BufferSource data + ); + Promise<ArrayBuffer> decrypt( + AlgorithmIdentifier algorithm, + CryptoKey key, + BufferSource data + ); + Promise<ArrayBuffer> sign( + AlgorithmIdentifier algorithm, + CryptoKey key, + BufferSource data + ); + Promise<boolean> verify( + AlgorithmIdentifier algorithm, + CryptoKey key, + BufferSource signature, + BufferSource data + ); + Promise<ArrayBuffer> digest( + AlgorithmIdentifier algorithm, + BufferSource data + ); + + Promise<(CryptoKey or CryptoKeyPair)> generateKey( + AlgorithmIdentifier algorithm, + boolean extractable, + sequence<KeyUsage> keyUsages + ); + Promise<CryptoKey> deriveKey( + AlgorithmIdentifier algorithm, + CryptoKey baseKey, + AlgorithmIdentifier derivedKeyType, + boolean extractable, + sequence<KeyUsage> keyUsages + ); + Promise<ArrayBuffer> deriveBits( + AlgorithmIdentifier algorithm, + CryptoKey baseKey, + optional unsigned long? length = null + ); + + Promise<CryptoKey> importKey( + KeyFormat format, + (BufferSource or JsonWebKey) keyData, + AlgorithmIdentifier algorithm, + boolean extractable, + sequence<KeyUsage> keyUsages + ); + Promise<(ArrayBuffer or JsonWebKey)> exportKey( + KeyFormat format, + CryptoKey key + ); + + Promise<ArrayBuffer> wrapKey( + KeyFormat format, + CryptoKey key, + CryptoKey wrappingKey, + AlgorithmIdentifier wrapAlgorithm + ); + Promise<CryptoKey> unwrapKey( + KeyFormat format, + BufferSource wrappedKey, + CryptoKey unwrappingKey, + AlgorithmIdentifier unwrapAlgorithm, + AlgorithmIdentifier unwrappedKeyAlgorithm, + boolean extractable, + sequence<KeyUsage> keyUsages + ); };