Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Side by Side Diff: Source/modules/crypto/NormalizeAlgorithm.cpp

Issue 284973002: [webcrypto] Remove RSA-ES support (3 of 3) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 const AlgorithmNameMapping algorithmNameMappings[] = { 65 const AlgorithmNameMapping algorithmNameMappings[] = {
66 {"HMAC", 4, blink::WebCryptoAlgorithmIdHmac}, 66 {"HMAC", 4, blink::WebCryptoAlgorithmIdHmac},
67 {"SHA-1", 5, blink::WebCryptoAlgorithmIdSha1}, 67 {"SHA-1", 5, blink::WebCryptoAlgorithmIdSha1},
68 {"AES-KW", 6, blink::WebCryptoAlgorithmIdAesKw}, 68 {"AES-KW", 6, blink::WebCryptoAlgorithmIdAesKw},
69 {"SHA-512", 7, blink::WebCryptoAlgorithmIdSha512}, 69 {"SHA-512", 7, blink::WebCryptoAlgorithmIdSha512},
70 {"SHA-384", 7, blink::WebCryptoAlgorithmIdSha384}, 70 {"SHA-384", 7, blink::WebCryptoAlgorithmIdSha384},
71 {"SHA-256", 7, blink::WebCryptoAlgorithmIdSha256}, 71 {"SHA-256", 7, blink::WebCryptoAlgorithmIdSha256},
72 {"AES-CBC", 7, blink::WebCryptoAlgorithmIdAesCbc}, 72 {"AES-CBC", 7, blink::WebCryptoAlgorithmIdAesCbc},
73 {"AES-GCM", 7, blink::WebCryptoAlgorithmIdAesGcm}, 73 {"AES-GCM", 7, blink::WebCryptoAlgorithmIdAesGcm},
74 {"AES-CTR", 7, blink::WebCryptoAlgorithmIdAesCtr}, 74 {"AES-CTR", 7, blink::WebCryptoAlgorithmIdAesCtr},
75 {"RSAES-PKCS1-V1_5", 16, blink::WebCryptoAlgorithmIdRsaEsPkcs1v1_5},
76 {"RSASSA-PKCS1-V1_5", 17, blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5}, 75 {"RSASSA-PKCS1-V1_5", 17, blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5},
77 }; 76 };
78 77
79 typedef char ParamsTypeOrUndefined; 78 typedef char ParamsTypeOrUndefined;
80 const ParamsTypeOrUndefined Undefined = -1; 79 const ParamsTypeOrUndefined Undefined = -1;
81 80
82 struct AlgorithmInfo { 81 struct AlgorithmInfo {
83 // The canonical (case-sensitive) name for the algorithm. 82 // The canonical (case-sensitive) name for the algorithm.
84 const char* name; 83 const char* name;
85 84
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 blink::WebCryptoAlgorithmParamsTypeNone, // Verify 125 blink::WebCryptoAlgorithmParamsTypeNone, // Verify
127 Undefined, // Digest 126 Undefined, // Digest
128 blink::WebCryptoAlgorithmParamsTypeRsaHashedKeyGenParams, // Generat eKey 127 blink::WebCryptoAlgorithmParamsTypeRsaHashedKeyGenParams, // Generat eKey
129 blink::WebCryptoAlgorithmParamsTypeRsaHashedImportParams, // ImportK ey 128 blink::WebCryptoAlgorithmParamsTypeRsaHashedImportParams, // ImportK ey
130 Undefined, // DeriveKey 129 Undefined, // DeriveKey
131 Undefined, // DeriveBits 130 Undefined, // DeriveBits
132 Undefined, // WrapKey 131 Undefined, // WrapKey
133 Undefined // UnwrapKey 132 Undefined // UnwrapKey
134 } 133 }
135 }, { // Index 3 134 }, { // Index 3
136 "RSAES-PKCS1-v1_5", {
137 blink::WebCryptoAlgorithmParamsTypeNone, // Encrypt
138 blink::WebCryptoAlgorithmParamsTypeNone, // Decrypt
139 Undefined, // Sign
140 Undefined, // Verify
141 Undefined, // Digest
142 blink::WebCryptoAlgorithmParamsTypeRsaKeyGenParams, // GenerateKey
143 blink::WebCryptoAlgorithmParamsTypeNone, // ImportKey
144 Undefined, // DeriveKey
145 Undefined, // DeriveBits
146 blink::WebCryptoAlgorithmParamsTypeNone, // WrapKey
147 blink::WebCryptoAlgorithmParamsTypeNone // UnwrapKey
148 }
149 }, { // Index 4
150 "SHA-1", { 135 "SHA-1", {
151 Undefined, // Encrypt 136 Undefined, // Encrypt
152 Undefined, // Decrypt 137 Undefined, // Decrypt
153 Undefined, // Sign 138 Undefined, // Sign
154 Undefined, // Verify 139 Undefined, // Verify
155 blink::WebCryptoAlgorithmParamsTypeNone, // Digest 140 blink::WebCryptoAlgorithmParamsTypeNone, // Digest
156 Undefined, // GenerateKey 141 Undefined, // GenerateKey
157 Undefined, // ImportKey 142 Undefined, // ImportKey
158 Undefined, // DeriveKey 143 Undefined, // DeriveKey
159 Undefined, // DeriveBits 144 Undefined, // DeriveBits
160 Undefined, // WrapKey 145 Undefined, // WrapKey
161 Undefined // UnwrapKey 146 Undefined // UnwrapKey
162 } 147 }
163 }, { // Index 5 148 }, { // Index 4
164 "SHA-256", { 149 "SHA-256", {
165 Undefined, // Encrypt 150 Undefined, // Encrypt
166 Undefined, // Decrypt 151 Undefined, // Decrypt
167 Undefined, // Sign 152 Undefined, // Sign
168 Undefined, // Verify 153 Undefined, // Verify
169 blink::WebCryptoAlgorithmParamsTypeNone, // Digest 154 blink::WebCryptoAlgorithmParamsTypeNone, // Digest
170 Undefined, // GenerateKey 155 Undefined, // GenerateKey
171 Undefined, // ImportKey 156 Undefined, // ImportKey
172 Undefined, // DeriveKey 157 Undefined, // DeriveKey
173 Undefined, // DeriveBits 158 Undefined, // DeriveBits
174 Undefined, // WrapKey 159 Undefined, // WrapKey
175 Undefined // UnwrapKey 160 Undefined // UnwrapKey
176 } 161 }
177 }, { // Index 6 162 }, { // Index 5
178 "SHA-384", { 163 "SHA-384", {
179 Undefined, // Encrypt 164 Undefined, // Encrypt
180 Undefined, // Decrypt 165 Undefined, // Decrypt
181 Undefined, // Sign 166 Undefined, // Sign
182 Undefined, // Verify 167 Undefined, // Verify
183 blink::WebCryptoAlgorithmParamsTypeNone, // Digest 168 blink::WebCryptoAlgorithmParamsTypeNone, // Digest
184 Undefined, // GenerateKey 169 Undefined, // GenerateKey
185 Undefined, // ImportKey 170 Undefined, // ImportKey
186 Undefined, // DeriveKey 171 Undefined, // DeriveKey
187 Undefined, // DeriveBits 172 Undefined, // DeriveBits
188 Undefined, // WrapKey 173 Undefined, // WrapKey
189 Undefined // UnwrapKey 174 Undefined // UnwrapKey
190 } 175 }
191 }, { // Index 7 176 }, { // Index 6
192 "SHA-512", { 177 "SHA-512", {
193 Undefined, // Encrypt 178 Undefined, // Encrypt
194 Undefined, // Decrypt 179 Undefined, // Decrypt
195 Undefined, // Sign 180 Undefined, // Sign
196 Undefined, // Verify 181 Undefined, // Verify
197 blink::WebCryptoAlgorithmParamsTypeNone, // Digest 182 blink::WebCryptoAlgorithmParamsTypeNone, // Digest
198 Undefined, // GenerateKey 183 Undefined, // GenerateKey
199 Undefined, // ImportKey 184 Undefined, // ImportKey
200 Undefined, // DeriveKey 185 Undefined, // DeriveKey
201 Undefined, // DeriveBits 186 Undefined, // DeriveBits
202 Undefined, // WrapKey 187 Undefined, // WrapKey
203 Undefined // UnwrapKey 188 Undefined // UnwrapKey
204 } 189 }
205 }, { // Index 8 190 }, { // Index 7
206 "AES-GCM", { 191 "AES-GCM", {
207 blink::WebCryptoAlgorithmParamsTypeAesGcmParams, // Encrypt 192 blink::WebCryptoAlgorithmParamsTypeAesGcmParams, // Encrypt
208 blink::WebCryptoAlgorithmParamsTypeAesGcmParams, // Decrypt 193 blink::WebCryptoAlgorithmParamsTypeAesGcmParams, // Decrypt
209 Undefined, // Sign 194 Undefined, // Sign
210 Undefined, // Verify 195 Undefined, // Verify
211 Undefined, // Digest 196 Undefined, // Digest
212 blink::WebCryptoAlgorithmParamsTypeAesKeyGenParams, // GenerateKey 197 blink::WebCryptoAlgorithmParamsTypeAesKeyGenParams, // GenerateKey
213 blink::WebCryptoAlgorithmParamsTypeNone, // ImportKey 198 blink::WebCryptoAlgorithmParamsTypeNone, // ImportKey
214 Undefined, // DeriveKey 199 Undefined, // DeriveKey
215 Undefined, // DeriveBits 200 Undefined, // DeriveBits
216 blink::WebCryptoAlgorithmParamsTypeAesGcmParams, // WrapKey 201 blink::WebCryptoAlgorithmParamsTypeAesGcmParams, // WrapKey
217 blink::WebCryptoAlgorithmParamsTypeAesGcmParams // UnwrapKey 202 blink::WebCryptoAlgorithmParamsTypeAesGcmParams // UnwrapKey
218 } 203 }
219 }, { // Index 9 204 }, { // Index 8
220 "RSA-OAEP", { 205 "RSA-OAEP", {
221 // FIXME: 206 // FIXME:
222 Undefined, // Encrypt 207 Undefined, // Encrypt
223 Undefined, // Decrypt 208 Undefined, // Decrypt
224 Undefined, // Sign 209 Undefined, // Sign
225 Undefined, // Verify 210 Undefined, // Verify
226 Undefined, // Digest 211 Undefined, // Digest
227 Undefined, // GenerateKey 212 Undefined, // GenerateKey
228 Undefined, // ImportKey 213 Undefined, // ImportKey
229 Undefined, // DeriveKey 214 Undefined, // DeriveKey
230 Undefined, // DeriveBits 215 Undefined, // DeriveBits
231 Undefined, // WrapKey 216 Undefined, // WrapKey
232 Undefined // UnwrapKey 217 Undefined // UnwrapKey
233 } 218 }
234 }, { // Index 10 219 }, { // Index 9
235 "AES-CTR", { 220 "AES-CTR", {
236 blink::WebCryptoAlgorithmParamsTypeAesCtrParams, // Encrypt 221 blink::WebCryptoAlgorithmParamsTypeAesCtrParams, // Encrypt
237 blink::WebCryptoAlgorithmParamsTypeAesCtrParams, // Decrypt 222 blink::WebCryptoAlgorithmParamsTypeAesCtrParams, // Decrypt
238 Undefined, // Sign 223 Undefined, // Sign
239 Undefined, // Verify 224 Undefined, // Verify
240 Undefined, // Digest 225 Undefined, // Digest
241 blink::WebCryptoAlgorithmParamsTypeAesKeyGenParams, // GenerateKey 226 blink::WebCryptoAlgorithmParamsTypeAesKeyGenParams, // GenerateKey
242 blink::WebCryptoAlgorithmParamsTypeNone, // ImportKey 227 blink::WebCryptoAlgorithmParamsTypeNone, // ImportKey
243 Undefined, // DeriveKey 228 Undefined, // DeriveKey
244 Undefined, // DeriveBits 229 Undefined, // DeriveBits
245 blink::WebCryptoAlgorithmParamsTypeAesCtrParams, // WrapKey 230 blink::WebCryptoAlgorithmParamsTypeAesCtrParams, // WrapKey
246 blink::WebCryptoAlgorithmParamsTypeAesCtrParams // UnwrapKey 231 blink::WebCryptoAlgorithmParamsTypeAesCtrParams // UnwrapKey
247 } 232 }
248 }, { // Index 11 233 }, { // Index 10
249 "AES-KW", { 234 "AES-KW", {
250 Undefined, // Encrypt 235 Undefined, // Encrypt
251 Undefined, // Decrypt 236 Undefined, // Decrypt
252 Undefined, // Sign 237 Undefined, // Sign
253 Undefined, // Verify 238 Undefined, // Verify
254 Undefined, // Digest 239 Undefined, // Digest
255 blink::WebCryptoAlgorithmParamsTypeAesKeyGenParams, // GenerateKey 240 blink::WebCryptoAlgorithmParamsTypeAesKeyGenParams, // GenerateKey
256 blink::WebCryptoAlgorithmParamsTypeNone, // ImportKey 241 blink::WebCryptoAlgorithmParamsTypeNone, // ImportKey
257 Undefined, // DeriveKey 242 Undefined, // DeriveKey
258 Undefined, // DeriveBits 243 Undefined, // DeriveBits
259 blink::WebCryptoAlgorithmParamsTypeNone, // WrapKey 244 blink::WebCryptoAlgorithmParamsTypeNone, // WrapKey
260 blink::WebCryptoAlgorithmParamsTypeNone // UnwrapKey 245 blink::WebCryptoAlgorithmParamsTypeNone // UnwrapKey
261 } 246 }
262 }, 247 },
263 }; 248 };
264 249
265 // Initializing the algorithmIdToInfo table above depends on knowing the enum 250 // Initializing the algorithmIdToInfo table above depends on knowing the enum
266 // values for algorithm IDs. If those ever change, the table will need to be 251 // values for algorithm IDs. If those ever change, the table will need to be
267 // updated. 252 // updated.
268 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdAesCbc == 0, AesCbc_idDoesntMatch); 253 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdAesCbc == 0, AesCbc_idDoesntMatch);
269 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdHmac == 1, Hmac_idDoesntMatch); 254 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdHmac == 1, Hmac_idDoesntMatch);
270 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5 == 2, RsaSsaPkcs1v1_5_ idDoesntMatch); 255 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5 == 2, RsaSsaPkcs1v1_5_ idDoesntMatch);
271 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdRsaEsPkcs1v1_5 == 3, RsaEsPkcs1v1_5_id DoesntMatch); 256 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdSha1 == 3, Sha1_idDoesntMatch);
272 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdSha1 == 4, Sha1_idDoesntMatch); 257 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdSha256 == 4, Sha256_idDoesntMatch);
273 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdSha256 == 5, Sha256_idDoesntMatch); 258 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdSha384 == 5, Sha384_idDoesntMatch);
274 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdSha384 == 6, Sha384_idDoesntMatch); 259 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdSha512 == 6, Sha512_idDoesntMatch);
275 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdSha512 == 7, Sha512_idDoesntMatch); 260 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdAesGcm == 7, AesGcm_idDoesntMatch);
276 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdAesGcm == 8, AesGcm_idDoesntMatch); 261 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdRsaOaep == 8, RsaOaep_idDoesntMatch);
277 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdRsaOaep == 9, RsaOaep_idDoesntMatch); 262 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdAesCtr == 9, AesCtr_idDoesntMatch);
278 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdAesCtr == 10, AesCtr_idDoesntMatch); 263 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdAesKw == 10, AesKw_idDoesntMatch);
279 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdAesKw == 11, AesKw_idDoesntMatch); 264 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdLast == 10, Last_idDoesntMatch);
280 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdLast == 11, Last_idDoesntMatch);
281 COMPILE_ASSERT(10 == LastAlgorithmOperation, UpdateParamsMapping); 265 COMPILE_ASSERT(10 == LastAlgorithmOperation, UpdateParamsMapping);
282 266
283 #if ASSERT_ENABLED 267 #if ASSERT_ENABLED
284 268
285 // Essentially std::is_sorted() (however that function is new to C++11). 269 // Essentially std::is_sorted() (however that function is new to C++11).
286 template <typename Iterator> 270 template <typename Iterator>
287 bool isSorted(Iterator begin, Iterator end) 271 bool isSorted(Iterator begin, Iterator end)
288 { 272 {
289 if (begin == end) 273 if (begin == end)
290 return true; 274 return true;
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
712 blink::WebCryptoAlgorithm hash; 696 blink::WebCryptoAlgorithm hash;
713 if (!parseHash(raw, hash, context, result)) 697 if (!parseHash(raw, hash, context, result))
714 return false; 698 return false;
715 699
716 params = adoptPtr(new blink::WebCryptoRsaHashedImportParams(hash)); 700 params = adoptPtr(new blink::WebCryptoRsaHashedImportParams(hash));
717 return true; 701 return true;
718 } 702 }
719 703
720 // Defined by the WebCrypto spec as: 704 // Defined by the WebCrypto spec as:
721 // 705 //
722 // dictionary RsaKeyGenParams : Algorithm {
723 // unsigned long modulusLength;
724 // BigInteger publicExponent;
725 // };
726 bool parseRsaKeyGenParams(const Dictionary& raw, uint32_t& modulusLength, RefPtr <Uint8Array>& publicExponent, const ErrorContext& context, CryptoResult* result)
727 {
728 if (!getUint32(raw, "modulusLength", modulusLength, context, result))
729 return false;
730
731 if (!getBigInteger(raw, "publicExponent", publicExponent, context, result))
732 return false;
733
734 return true;
735 }
736
737 bool parseRsaKeyGenParams(const Dictionary& raw, OwnPtr<blink::WebCryptoAlgorith mParams>& params, const ErrorContext& context, CryptoResult* result)
738 {
739 uint32_t modulusLength;
740 RefPtr<Uint8Array> publicExponent;
741 if (!parseRsaKeyGenParams(raw, modulusLength, publicExponent, context, resul t))
742 return false;
743
744 params = adoptPtr(new blink::WebCryptoRsaKeyGenParams(modulusLength, static_ cast<const unsigned char*>(publicExponent->baseAddress()), publicExponent->byteL ength()));
745 return true;
746 }
747
748 // Defined by the WebCrypto spec as:
749 //
750 // dictionary RsaHashedKeyGenParams : RsaKeyGenParams { 706 // dictionary RsaHashedKeyGenParams : RsaKeyGenParams {
751 // AlgorithmIdentifier hash; 707 // AlgorithmIdentifier hash;
752 // }; 708 // };
709 //
710 // dictionary RsaKeyGenParams : Algorithm {
711 // unsigned long modulusLength;
712 // BigInteger publicExponent;
713 // };
753 bool parseRsaHashedKeyGenParams(const Dictionary& raw, OwnPtr<blink::WebCryptoAl gorithmParams>& params, const ErrorContext& context, CryptoResult* result) 714 bool parseRsaHashedKeyGenParams(const Dictionary& raw, OwnPtr<blink::WebCryptoAl gorithmParams>& params, const ErrorContext& context, CryptoResult* result)
754 { 715 {
755 uint32_t modulusLength; 716 uint32_t modulusLength;
717 if (!getUint32(raw, "modulusLength", modulusLength, context, result))
718 return false;
719
756 RefPtr<Uint8Array> publicExponent; 720 RefPtr<Uint8Array> publicExponent;
757 if (!parseRsaKeyGenParams(raw, modulusLength, publicExponent, context, resul t)) 721 if (!getBigInteger(raw, "publicExponent", publicExponent, context, result))
758 return false; 722 return false;
759 723
760 blink::WebCryptoAlgorithm hash; 724 blink::WebCryptoAlgorithm hash;
761 if (!parseHash(raw, hash, context, result)) 725 if (!parseHash(raw, hash, context, result))
762 return false; 726 return false;
763 727
764 params = adoptPtr(new blink::WebCryptoRsaHashedKeyGenParams(hash, modulusLen gth, static_cast<const unsigned char*>(publicExponent->baseAddress()), publicExp onent->byteLength())); 728 params = adoptPtr(new blink::WebCryptoRsaHashedKeyGenParams(hash, modulusLen gth, static_cast<const unsigned char*>(publicExponent->baseAddress()), publicExp onent->byteLength()));
765 return true; 729 return true;
766 } 730 }
767 731
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
834 return parseHmacImportParams(raw, params, context, result); 798 return parseHmacImportParams(raw, params, context, result);
835 case blink::WebCryptoAlgorithmParamsTypeHmacKeyGenParams: 799 case blink::WebCryptoAlgorithmParamsTypeHmacKeyGenParams:
836 context.add("HmacKeyGenParams"); 800 context.add("HmacKeyGenParams");
837 return parseHmacKeyGenParams(raw, params, context, result); 801 return parseHmacKeyGenParams(raw, params, context, result);
838 case blink::WebCryptoAlgorithmParamsTypeRsaHashedKeyGenParams: 802 case blink::WebCryptoAlgorithmParamsTypeRsaHashedKeyGenParams:
839 context.add("RsaHashedKeyGenParams"); 803 context.add("RsaHashedKeyGenParams");
840 return parseRsaHashedKeyGenParams(raw, params, context, result); 804 return parseRsaHashedKeyGenParams(raw, params, context, result);
841 case blink::WebCryptoAlgorithmParamsTypeRsaHashedImportParams: 805 case blink::WebCryptoAlgorithmParamsTypeRsaHashedImportParams:
842 context.add("RsaHashedImportParams"); 806 context.add("RsaHashedImportParams");
843 return parseRsaHashedImportParams(raw, params, context, result); 807 return parseRsaHashedImportParams(raw, params, context, result);
844 case blink::WebCryptoAlgorithmParamsTypeRsaKeyGenParams:
845 context.add("RsaKeyGenParams");
846 return parseRsaKeyGenParams(raw, params, context, result);
847 case blink::WebCryptoAlgorithmParamsTypeAesCtrParams: 808 case blink::WebCryptoAlgorithmParamsTypeAesCtrParams:
848 context.add("AesCtrParams"); 809 context.add("AesCtrParams");
849 return parseAesCtrParams(raw, params, context, result); 810 return parseAesCtrParams(raw, params, context, result);
850 case blink::WebCryptoAlgorithmParamsTypeAesGcmParams: 811 case blink::WebCryptoAlgorithmParamsTypeAesGcmParams:
851 context.add("AesGcmParams"); 812 context.add("AesGcmParams");
852 return parseAesGcmParams(raw, params, context, result); 813 return parseAesGcmParams(raw, params, context, result);
853 case blink::WebCryptoAlgorithmParamsTypeRsaOaepParams: 814 case blink::WebCryptoAlgorithmParamsTypeRsaOaepParams:
854 // TODO 815 // TODO
855 notImplemented(); 816 notImplemented();
856 break; 817 break;
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
938 { 899 {
939 return parseAlgorithm(raw, op, algorithm, ErrorContext(), result); 900 return parseAlgorithm(raw, op, algorithm, ErrorContext(), result);
940 } 901 }
941 902
942 const char* algorithmIdToName(blink::WebCryptoAlgorithmId id) 903 const char* algorithmIdToName(blink::WebCryptoAlgorithmId id)
943 { 904 {
944 return lookupAlgorithmInfo(id)->name; 905 return lookupAlgorithmInfo(id)->name;
945 } 906 }
946 907
947 } // namespace WebCore 908 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698