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

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

Issue 296333002: Revert 174726 "[webcrypto] Remove RSA-ES support (3 of 3)" (Closed) Base URL: svn://svn.chromium.org/blink/
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 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 {"RSA-OAEP", 8, blink::WebCryptoAlgorithmIdRsaOaep}, 75 {"RSA-OAEP", 8, blink::WebCryptoAlgorithmIdRsaOaep},
76 {"RSAES-PKCS1-V1_5", 16, blink::WebCryptoAlgorithmIdRsaEsPkcs1v1_5},
76 {"RSASSA-PKCS1-V1_5", 17, blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5}, 77 {"RSASSA-PKCS1-V1_5", 17, blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5},
77 }; 78 };
78 79
79 typedef char ParamsTypeOrUndefined; 80 typedef char ParamsTypeOrUndefined;
80 const ParamsTypeOrUndefined Undefined = -1; 81 const ParamsTypeOrUndefined Undefined = -1;
81 82
82 struct AlgorithmInfo { 83 struct AlgorithmInfo {
83 // The canonical (case-sensitive) name for the algorithm. 84 // The canonical (case-sensitive) name for the algorithm.
84 const char* name; 85 const char* name;
85 86
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 blink::WebCryptoAlgorithmParamsTypeNone, // Verify 127 blink::WebCryptoAlgorithmParamsTypeNone, // Verify
127 Undefined, // Digest 128 Undefined, // Digest
128 blink::WebCryptoAlgorithmParamsTypeRsaHashedKeyGenParams, // Generat eKey 129 blink::WebCryptoAlgorithmParamsTypeRsaHashedKeyGenParams, // Generat eKey
129 blink::WebCryptoAlgorithmParamsTypeRsaHashedImportParams, // ImportK ey 130 blink::WebCryptoAlgorithmParamsTypeRsaHashedImportParams, // ImportK ey
130 Undefined, // DeriveKey 131 Undefined, // DeriveKey
131 Undefined, // DeriveBits 132 Undefined, // DeriveBits
132 Undefined, // WrapKey 133 Undefined, // WrapKey
133 Undefined // UnwrapKey 134 Undefined // UnwrapKey
134 } 135 }
135 }, { // Index 3 136 }, { // Index 3
137 "RSAES-PKCS1-v1_5", {
138 blink::WebCryptoAlgorithmParamsTypeNone, // Encrypt
139 blink::WebCryptoAlgorithmParamsTypeNone, // Decrypt
140 Undefined, // Sign
141 Undefined, // Verify
142 Undefined, // Digest
143 blink::WebCryptoAlgorithmParamsTypeRsaKeyGenParams, // GenerateKey
144 blink::WebCryptoAlgorithmParamsTypeNone, // ImportKey
145 Undefined, // DeriveKey
146 Undefined, // DeriveBits
147 blink::WebCryptoAlgorithmParamsTypeNone, // WrapKey
148 blink::WebCryptoAlgorithmParamsTypeNone // UnwrapKey
149 }
150 }, { // Index 4
136 "SHA-1", { 151 "SHA-1", {
137 Undefined, // Encrypt 152 Undefined, // Encrypt
138 Undefined, // Decrypt 153 Undefined, // Decrypt
139 Undefined, // Sign 154 Undefined, // Sign
140 Undefined, // Verify 155 Undefined, // Verify
141 blink::WebCryptoAlgorithmParamsTypeNone, // Digest 156 blink::WebCryptoAlgorithmParamsTypeNone, // Digest
142 Undefined, // GenerateKey 157 Undefined, // GenerateKey
143 Undefined, // ImportKey 158 Undefined, // ImportKey
144 Undefined, // DeriveKey 159 Undefined, // DeriveKey
145 Undefined, // DeriveBits 160 Undefined, // DeriveBits
146 Undefined, // WrapKey 161 Undefined, // WrapKey
147 Undefined // UnwrapKey 162 Undefined // UnwrapKey
148 } 163 }
149 }, { // Index 4 164 }, { // Index 5
150 "SHA-256", { 165 "SHA-256", {
151 Undefined, // Encrypt 166 Undefined, // Encrypt
152 Undefined, // Decrypt 167 Undefined, // Decrypt
153 Undefined, // Sign 168 Undefined, // Sign
154 Undefined, // Verify 169 Undefined, // Verify
155 blink::WebCryptoAlgorithmParamsTypeNone, // Digest 170 blink::WebCryptoAlgorithmParamsTypeNone, // Digest
156 Undefined, // GenerateKey 171 Undefined, // GenerateKey
157 Undefined, // ImportKey 172 Undefined, // ImportKey
158 Undefined, // DeriveKey 173 Undefined, // DeriveKey
159 Undefined, // DeriveBits 174 Undefined, // DeriveBits
160 Undefined, // WrapKey 175 Undefined, // WrapKey
161 Undefined // UnwrapKey 176 Undefined // UnwrapKey
162 } 177 }
163 }, { // Index 5 178 }, { // Index 6
164 "SHA-384", { 179 "SHA-384", {
165 Undefined, // Encrypt 180 Undefined, // Encrypt
166 Undefined, // Decrypt 181 Undefined, // Decrypt
167 Undefined, // Sign 182 Undefined, // Sign
168 Undefined, // Verify 183 Undefined, // Verify
169 blink::WebCryptoAlgorithmParamsTypeNone, // Digest 184 blink::WebCryptoAlgorithmParamsTypeNone, // Digest
170 Undefined, // GenerateKey 185 Undefined, // GenerateKey
171 Undefined, // ImportKey 186 Undefined, // ImportKey
172 Undefined, // DeriveKey 187 Undefined, // DeriveKey
173 Undefined, // DeriveBits 188 Undefined, // DeriveBits
174 Undefined, // WrapKey 189 Undefined, // WrapKey
175 Undefined // UnwrapKey 190 Undefined // UnwrapKey
176 } 191 }
177 }, { // Index 6 192 }, { // Index 7
178 "SHA-512", { 193 "SHA-512", {
179 Undefined, // Encrypt 194 Undefined, // Encrypt
180 Undefined, // Decrypt 195 Undefined, // Decrypt
181 Undefined, // Sign 196 Undefined, // Sign
182 Undefined, // Verify 197 Undefined, // Verify
183 blink::WebCryptoAlgorithmParamsTypeNone, // Digest 198 blink::WebCryptoAlgorithmParamsTypeNone, // Digest
184 Undefined, // GenerateKey 199 Undefined, // GenerateKey
185 Undefined, // ImportKey 200 Undefined, // ImportKey
186 Undefined, // DeriveKey 201 Undefined, // DeriveKey
187 Undefined, // DeriveBits 202 Undefined, // DeriveBits
188 Undefined, // WrapKey 203 Undefined, // WrapKey
189 Undefined // UnwrapKey 204 Undefined // UnwrapKey
190 } 205 }
191 }, { // Index 7 206 }, { // Index 8
192 "AES-GCM", { 207 "AES-GCM", {
193 blink::WebCryptoAlgorithmParamsTypeAesGcmParams, // Encrypt 208 blink::WebCryptoAlgorithmParamsTypeAesGcmParams, // Encrypt
194 blink::WebCryptoAlgorithmParamsTypeAesGcmParams, // Decrypt 209 blink::WebCryptoAlgorithmParamsTypeAesGcmParams, // Decrypt
195 Undefined, // Sign 210 Undefined, // Sign
196 Undefined, // Verify 211 Undefined, // Verify
197 Undefined, // Digest 212 Undefined, // Digest
198 blink::WebCryptoAlgorithmParamsTypeAesKeyGenParams, // GenerateKey 213 blink::WebCryptoAlgorithmParamsTypeAesKeyGenParams, // GenerateKey
199 blink::WebCryptoAlgorithmParamsTypeNone, // ImportKey 214 blink::WebCryptoAlgorithmParamsTypeNone, // ImportKey
200 Undefined, // DeriveKey 215 Undefined, // DeriveKey
201 Undefined, // DeriveBits 216 Undefined, // DeriveBits
202 blink::WebCryptoAlgorithmParamsTypeAesGcmParams, // WrapKey 217 blink::WebCryptoAlgorithmParamsTypeAesGcmParams, // WrapKey
203 blink::WebCryptoAlgorithmParamsTypeAesGcmParams // UnwrapKey 218 blink::WebCryptoAlgorithmParamsTypeAesGcmParams // UnwrapKey
204 } 219 }
205 }, { // Index 8 220 }, { // Index 9
206 "RSA-OAEP", { 221 "RSA-OAEP", {
207 blink::WebCryptoAlgorithmParamsTypeRsaOaepParams, // Encrypt 222 blink::WebCryptoAlgorithmParamsTypeRsaOaepParams, // Encrypt
208 blink::WebCryptoAlgorithmParamsTypeRsaOaepParams, // Decrypt 223 blink::WebCryptoAlgorithmParamsTypeRsaOaepParams, // Decrypt
209 Undefined, // Sign 224 Undefined, // Sign
210 Undefined, // Verify 225 Undefined, // Verify
211 Undefined, // Digest 226 Undefined, // Digest
212 blink::WebCryptoAlgorithmParamsTypeRsaHashedKeyGenParams, // Generat eKey 227 blink::WebCryptoAlgorithmParamsTypeRsaHashedKeyGenParams, // Generat eKey
213 blink::WebCryptoAlgorithmParamsTypeRsaHashedImportParams, // ImportK ey 228 blink::WebCryptoAlgorithmParamsTypeRsaHashedImportParams, // ImportK ey
214 Undefined, // DeriveKey 229 Undefined, // DeriveKey
215 Undefined, // DeriveBits 230 Undefined, // DeriveBits
216 blink::WebCryptoAlgorithmParamsTypeRsaOaepParams, // WrapKey 231 blink::WebCryptoAlgorithmParamsTypeRsaOaepParams, // WrapKey
217 blink::WebCryptoAlgorithmParamsTypeRsaOaepParams // UnwrapKey 232 blink::WebCryptoAlgorithmParamsTypeRsaOaepParams // UnwrapKey
218 } 233 }
219 }, { // Index 9 234 }, { // Index 10
220 "AES-CTR", { 235 "AES-CTR", {
221 blink::WebCryptoAlgorithmParamsTypeAesCtrParams, // Encrypt 236 blink::WebCryptoAlgorithmParamsTypeAesCtrParams, // Encrypt
222 blink::WebCryptoAlgorithmParamsTypeAesCtrParams, // Decrypt 237 blink::WebCryptoAlgorithmParamsTypeAesCtrParams, // Decrypt
223 Undefined, // Sign 238 Undefined, // Sign
224 Undefined, // Verify 239 Undefined, // Verify
225 Undefined, // Digest 240 Undefined, // Digest
226 blink::WebCryptoAlgorithmParamsTypeAesKeyGenParams, // GenerateKey 241 blink::WebCryptoAlgorithmParamsTypeAesKeyGenParams, // GenerateKey
227 blink::WebCryptoAlgorithmParamsTypeNone, // ImportKey 242 blink::WebCryptoAlgorithmParamsTypeNone, // ImportKey
228 Undefined, // DeriveKey 243 Undefined, // DeriveKey
229 Undefined, // DeriveBits 244 Undefined, // DeriveBits
230 blink::WebCryptoAlgorithmParamsTypeAesCtrParams, // WrapKey 245 blink::WebCryptoAlgorithmParamsTypeAesCtrParams, // WrapKey
231 blink::WebCryptoAlgorithmParamsTypeAesCtrParams // UnwrapKey 246 blink::WebCryptoAlgorithmParamsTypeAesCtrParams // UnwrapKey
232 } 247 }
233 }, { // Index 10 248 }, { // Index 11
234 "AES-KW", { 249 "AES-KW", {
235 Undefined, // Encrypt 250 Undefined, // Encrypt
236 Undefined, // Decrypt 251 Undefined, // Decrypt
237 Undefined, // Sign 252 Undefined, // Sign
238 Undefined, // Verify 253 Undefined, // Verify
239 Undefined, // Digest 254 Undefined, // Digest
240 blink::WebCryptoAlgorithmParamsTypeAesKeyGenParams, // GenerateKey 255 blink::WebCryptoAlgorithmParamsTypeAesKeyGenParams, // GenerateKey
241 blink::WebCryptoAlgorithmParamsTypeNone, // ImportKey 256 blink::WebCryptoAlgorithmParamsTypeNone, // ImportKey
242 Undefined, // DeriveKey 257 Undefined, // DeriveKey
243 Undefined, // DeriveBits 258 Undefined, // DeriveBits
244 blink::WebCryptoAlgorithmParamsTypeNone, // WrapKey 259 blink::WebCryptoAlgorithmParamsTypeNone, // WrapKey
245 blink::WebCryptoAlgorithmParamsTypeNone // UnwrapKey 260 blink::WebCryptoAlgorithmParamsTypeNone // UnwrapKey
246 } 261 }
247 }, 262 },
248 }; 263 };
249 264
250 // Initializing the algorithmIdToInfo table above depends on knowing the enum 265 // Initializing the algorithmIdToInfo table above depends on knowing the enum
251 // values for algorithm IDs. If those ever change, the table will need to be 266 // values for algorithm IDs. If those ever change, the table will need to be
252 // updated. 267 // updated.
253 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdAesCbc == 0, AesCbc_idDoesntMatch); 268 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdAesCbc == 0, AesCbc_idDoesntMatch);
254 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdHmac == 1, Hmac_idDoesntMatch); 269 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdHmac == 1, Hmac_idDoesntMatch);
255 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5 == 2, RsaSsaPkcs1v1_5_ idDoesntMatch); 270 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5 == 2, RsaSsaPkcs1v1_5_ idDoesntMatch);
256 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdSha1 == 3, Sha1_idDoesntMatch); 271 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdRsaEsPkcs1v1_5 == 3, RsaEsPkcs1v1_5_id DoesntMatch);
257 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdSha256 == 4, Sha256_idDoesntMatch); 272 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdSha1 == 4, Sha1_idDoesntMatch);
258 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdSha384 == 5, Sha384_idDoesntMatch); 273 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdSha256 == 5, Sha256_idDoesntMatch);
259 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdSha512 == 6, Sha512_idDoesntMatch); 274 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdSha384 == 6, Sha384_idDoesntMatch);
260 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdAesGcm == 7, AesGcm_idDoesntMatch); 275 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdSha512 == 7, Sha512_idDoesntMatch);
261 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdRsaOaep == 8, RsaOaep_idDoesntMatch); 276 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdAesGcm == 8, AesGcm_idDoesntMatch);
262 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdAesCtr == 9, AesCtr_idDoesntMatch); 277 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdRsaOaep == 9, RsaOaep_idDoesntMatch);
263 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdAesKw == 10, AesKw_idDoesntMatch); 278 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdAesCtr == 10, AesCtr_idDoesntMatch);
264 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdLast == 10, Last_idDoesntMatch); 279 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdAesKw == 11, AesKw_idDoesntMatch);
280 COMPILE_ASSERT(blink::WebCryptoAlgorithmIdLast == 11, Last_idDoesntMatch);
265 COMPILE_ASSERT(10 == LastAlgorithmOperation, UpdateParamsMapping); 281 COMPILE_ASSERT(10 == LastAlgorithmOperation, UpdateParamsMapping);
266 282
267 #if ASSERT_ENABLED 283 #if ASSERT_ENABLED
268 284
269 // Essentially std::is_sorted() (however that function is new to C++11). 285 // Essentially std::is_sorted() (however that function is new to C++11).
270 template <typename Iterator> 286 template <typename Iterator>
271 bool isSorted(Iterator begin, Iterator end) 287 bool isSorted(Iterator begin, Iterator end)
272 { 288 {
273 if (begin == end) 289 if (begin == end)
274 return true; 290 return true;
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 blink::WebCryptoAlgorithm hash; 712 blink::WebCryptoAlgorithm hash;
697 if (!parseHash(raw, hash, context, result)) 713 if (!parseHash(raw, hash, context, result))
698 return false; 714 return false;
699 715
700 params = adoptPtr(new blink::WebCryptoRsaHashedImportParams(hash)); 716 params = adoptPtr(new blink::WebCryptoRsaHashedImportParams(hash));
701 return true; 717 return true;
702 } 718 }
703 719
704 // Defined by the WebCrypto spec as: 720 // Defined by the WebCrypto spec as:
705 // 721 //
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 //
706 // dictionary RsaHashedKeyGenParams : RsaKeyGenParams { 750 // dictionary RsaHashedKeyGenParams : RsaKeyGenParams {
707 // AlgorithmIdentifier hash; 751 // AlgorithmIdentifier hash;
708 // }; 752 // };
709 //
710 // dictionary RsaKeyGenParams : Algorithm {
711 // unsigned long modulusLength;
712 // BigInteger publicExponent;
713 // };
714 bool parseRsaHashedKeyGenParams(const Dictionary& raw, OwnPtr<blink::WebCryptoAl gorithmParams>& params, const ErrorContext& context, CryptoResult* result) 753 bool parseRsaHashedKeyGenParams(const Dictionary& raw, OwnPtr<blink::WebCryptoAl gorithmParams>& params, const ErrorContext& context, CryptoResult* result)
715 { 754 {
716 uint32_t modulusLength; 755 uint32_t modulusLength;
717 if (!getUint32(raw, "modulusLength", modulusLength, context, result))
718 return false;
719
720 RefPtr<Uint8Array> publicExponent; 756 RefPtr<Uint8Array> publicExponent;
721 if (!getBigInteger(raw, "publicExponent", publicExponent, context, result)) 757 if (!parseRsaKeyGenParams(raw, modulusLength, publicExponent, context, resul t))
722 return false; 758 return false;
723 759
724 blink::WebCryptoAlgorithm hash; 760 blink::WebCryptoAlgorithm hash;
725 if (!parseHash(raw, hash, context, result)) 761 if (!parseHash(raw, hash, context, result))
726 return false; 762 return false;
727 763
728 params = adoptPtr(new blink::WebCryptoRsaHashedKeyGenParams(hash, modulusLen gth, static_cast<const unsigned char*>(publicExponent->baseAddress()), publicExp onent->byteLength())); 764 params = adoptPtr(new blink::WebCryptoRsaHashedKeyGenParams(hash, modulusLen gth, static_cast<const unsigned char*>(publicExponent->baseAddress()), publicExp onent->byteLength()));
729 return true; 765 return true;
730 } 766 }
731 767
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
817 return parseHmacImportParams(raw, params, context, result); 853 return parseHmacImportParams(raw, params, context, result);
818 case blink::WebCryptoAlgorithmParamsTypeHmacKeyGenParams: 854 case blink::WebCryptoAlgorithmParamsTypeHmacKeyGenParams:
819 context.add("HmacKeyGenParams"); 855 context.add("HmacKeyGenParams");
820 return parseHmacKeyGenParams(raw, params, context, result); 856 return parseHmacKeyGenParams(raw, params, context, result);
821 case blink::WebCryptoAlgorithmParamsTypeRsaHashedKeyGenParams: 857 case blink::WebCryptoAlgorithmParamsTypeRsaHashedKeyGenParams:
822 context.add("RsaHashedKeyGenParams"); 858 context.add("RsaHashedKeyGenParams");
823 return parseRsaHashedKeyGenParams(raw, params, context, result); 859 return parseRsaHashedKeyGenParams(raw, params, context, result);
824 case blink::WebCryptoAlgorithmParamsTypeRsaHashedImportParams: 860 case blink::WebCryptoAlgorithmParamsTypeRsaHashedImportParams:
825 context.add("RsaHashedImportParams"); 861 context.add("RsaHashedImportParams");
826 return parseRsaHashedImportParams(raw, params, context, result); 862 return parseRsaHashedImportParams(raw, params, context, result);
863 case blink::WebCryptoAlgorithmParamsTypeRsaKeyGenParams:
864 context.add("RsaKeyGenParams");
865 return parseRsaKeyGenParams(raw, params, context, result);
827 case blink::WebCryptoAlgorithmParamsTypeAesCtrParams: 866 case blink::WebCryptoAlgorithmParamsTypeAesCtrParams:
828 context.add("AesCtrParams"); 867 context.add("AesCtrParams");
829 return parseAesCtrParams(raw, params, context, result); 868 return parseAesCtrParams(raw, params, context, result);
830 case blink::WebCryptoAlgorithmParamsTypeAesGcmParams: 869 case blink::WebCryptoAlgorithmParamsTypeAesGcmParams:
831 context.add("AesGcmParams"); 870 context.add("AesGcmParams");
832 return parseAesGcmParams(raw, params, context, result); 871 return parseAesGcmParams(raw, params, context, result);
833 case blink::WebCryptoAlgorithmParamsTypeRsaOaepParams: 872 case blink::WebCryptoAlgorithmParamsTypeRsaOaepParams:
834 context.add("RsaOaepParams"); 873 context.add("RsaOaepParams");
835 return parseRsaOaepParams(raw, params, context, result); 874 return parseRsaOaepParams(raw, params, context, result);
836 break; 875 break;
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
918 { 957 {
919 return parseAlgorithm(raw, op, algorithm, ErrorContext(), result); 958 return parseAlgorithm(raw, op, algorithm, ErrorContext(), result);
920 } 959 }
921 960
922 const char* algorithmIdToName(blink::WebCryptoAlgorithmId id) 961 const char* algorithmIdToName(blink::WebCryptoAlgorithmId id)
923 { 962 {
924 return lookupAlgorithmInfo(id)->name; 963 return lookupAlgorithmInfo(id)->name;
925 } 964 }
926 965
927 } // namespace WebCore 966 } // namespace WebCore
OLDNEW
« no previous file with comments | « trunk/Source/modules/crypto/KeyAlgorithm.idl ('k') | trunk/Source/modules/crypto/RsaKeyAlgorithm.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698