OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 13 matching lines...) Expand all Loading... |
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 | 30 |
31 // http://www.w3.org/TR/WebCryptoAPI/#subtlecrypto-interface | 31 // http://www.w3.org/TR/WebCryptoAPI/#subtlecrypto-interface |
32 | 32 |
33 typedef DOMString KeyFormat; | 33 typedef DOMString KeyFormat; |
34 typedef DOMString KeyUsage; // from CryptoKey interface | 34 typedef DOMString KeyUsage; |
35 | 35 typedef (Dictionary or DOMString) AlgorithmIdentifier; |
36 // FIXME: use below; needs support for union types http://crbug.com/240176 | |
37 typedef (ArrayBuffer or ArrayBufferView) CryptoOperationData; | |
38 | 36 |
39 [ | 37 [ |
40 GarbageCollected, | 38 GarbageCollected, |
41 NoInterfaceObject, | 39 Exposed=(Window,Worker), |
| 40 TypeChecking=Interface, |
42 ] interface SubtleCrypto { | 41 ] interface SubtleCrypto { |
43 [CallWith=ScriptState] Promise encrypt(Dictionary algorithm, CryptoKey key,
ArrayBuffer data); | 42 [CallWith=ScriptState, MeasureAs=SubtleCryptoEncrypt] Promise encrypt(Algori
thmIdentifier algorithm, CryptoKey key, BufferSource data); |
44 [CallWith=ScriptState] Promise encrypt(Dictionary algorithm, CryptoKey key,
ArrayBufferView data); | 43 [CallWith=ScriptState, MeasureAs=SubtleCryptoDecrypt] Promise decrypt(Algori
thmIdentifier algorithm, CryptoKey key, BufferSource data); |
45 | 44 [CallWith=ScriptState, MeasureAs=SubtleCryptoSign] Promise sign(AlgorithmIde
ntifier algorithm, CryptoKey key, BufferSource data); |
46 [CallWith=ScriptState] Promise decrypt(Dictionary algorithm, CryptoKey key,
ArrayBuffer data); | 45 [CallWith=ScriptState, ImplementedAs=verifySignature, MeasureAs=SubtleCrypto
Verify] Promise verify(AlgorithmIdentifier algorithm, CryptoKey key, BufferSourc
e signature, BufferSource data); |
47 [CallWith=ScriptState] Promise decrypt(Dictionary algorithm, CryptoKey key,
ArrayBufferView data); | 46 [CallWith=ScriptState, MeasureAs=SubtleCryptoDigest] Promise digest(Algorith
mIdentifier algorithm, BufferSource data); |
48 | 47 [CallWith=ScriptState, MeasureAs=SubtleCryptoGenerateKey] Promise generateKe
y(AlgorithmIdentifier algorithm, boolean extractable, sequence<KeyUsage> keyUsag
es); |
49 [CallWith=ScriptState] Promise sign(Dictionary algorithm, CryptoKey key, Arr
ayBuffer data); | 48 [CallWith=ScriptState, MeasureAs=SubtleCryptoImportKey] Promise importKey(Ke
yFormat format, (ArrayBuffer or ArrayBufferView or Dictionary) keyData, Algorith
mIdentifier algorithm, boolean extractable, sequence<KeyUsage> keyUsages); |
50 [CallWith=ScriptState] Promise sign(Dictionary algorithm, CryptoKey key, Arr
ayBufferView data); | 49 [CallWith=ScriptState, MeasureAs=SubtleCryptoExportKey] Promise exportKey(Ke
yFormat format, CryptoKey key); |
51 | 50 [CallWith=ScriptState, MeasureAs=SubtleCryptoDeriveBits] Promise deriveBits(
AlgorithmIdentifier algorithm, CryptoKey baseKey, unsigned long length); |
52 // FIXME: should be: Promise verify(Dictionary algorithm, CryptoKey key, Cry
ptoOperationData signature, CryptoOperationData data); | 51 [CallWith=ScriptState, MeasureAs=SubtleCryptoDeriveKey] Promise deriveKey(Al
gorithmIdentifier algorithm, CryptoKey baseKey, AlgorithmIdentifier derivedKeyTy
pe, boolean extractable, sequence<KeyUsage> keyUsages); |
53 [CallWith=ScriptState, Custom, ImplementedAs=verifySignature] Promise verify
(Dictionary algorithm, CryptoKey key, object signature, object data); | 52 [CallWith=ScriptState, MeasureAs=SubtleCryptoWrapKey] Promise wrapKey(KeyFor
mat format, CryptoKey key, CryptoKey wrappingKey, AlgorithmIdentifier wrapAlgori
thm); |
54 | 53 [CallWith=ScriptState, MeasureAs=SubtleCryptoUnwrapKey] Promise unwrapKey(Ke
yFormat format, BufferSource wrappedKey, CryptoKey unwrappingKey, AlgorithmIdent
ifier unwrapAlgorithm, AlgorithmIdentifier unwrappedKeyAlgorithm, boolean extrac
table, sequence<KeyUsage> keyUsages); |
55 [CallWith=ScriptState] Promise digest(Dictionary algorithm, ArrayBuffer data
); | |
56 [CallWith=ScriptState] Promise digest(Dictionary algorithm, ArrayBufferView
data); | |
57 | |
58 [CallWith=ScriptState] Promise generateKey(Dictionary algorithm, boolean ext
ractable, DOMString[] keyUsages); | |
59 | |
60 [CallWith=ScriptState] Promise importKey(KeyFormat format, ArrayBuffer keyDa
ta, Dictionary algorithm, boolean extractable, KeyUsage[] keyUsages); | |
61 [CallWith=ScriptState] Promise importKey(KeyFormat format, ArrayBufferView k
eyData, Dictionary algorithm, boolean extractable, KeyUsage[] keyUsages); | |
62 [CallWith=ScriptState] Promise importKey(KeyFormat format, Dictionary keyDat
a, Dictionary algorithm, boolean extractable, KeyUsage[] keyUsages); | |
63 | |
64 [CallWith=ScriptState] Promise exportKey(KeyFormat format, CryptoKey key); | |
65 | |
66 [CallWith=ScriptState] Promise wrapKey(KeyFormat format, CryptoKey key, Cryp
toKey wrappingKey, Dictionary wrapAlgorithm); | |
67 | |
68 [CallWith=ScriptState] Promise unwrapKey(KeyFormat format, ArrayBuffer wrapp
edKey, CryptoKey unwrappingKey, Dictionary unwrapAlgorithm, Dictionary unwrapped
KeyAlgorithm, boolean extractable, KeyUsage[] keyUsages); | |
69 [CallWith=ScriptState] Promise unwrapKey(KeyFormat format, ArrayBufferView w
rappedKey, CryptoKey unwrappingKey, Dictionary unwrapAlgorithm, Dictionary unwra
ppedKeyAlgorithm, boolean extractable, KeyUsage[] keyUsages); | |
70 }; | 54 }; |
OLD | NEW |