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

Side by Side Diff: Source/bindings/core/v8/SerializedScriptValue.cpp

Issue 657243002: [webcrypto] Add parameter parsing for RSA-PSS. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 2 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
« no previous file with comments | « no previous file | Source/modules/crypto/NormalizeAlgorithm.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 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 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 RsaSsaPkcs1v1_5Tag = 3, 268 RsaSsaPkcs1v1_5Tag = 3,
269 // ID 4 was used by RsaEs, while still behind experimental flag. 269 // ID 4 was used by RsaEs, while still behind experimental flag.
270 Sha1Tag = 5, 270 Sha1Tag = 5,
271 Sha256Tag = 6, 271 Sha256Tag = 6,
272 Sha384Tag = 7, 272 Sha384Tag = 7,
273 Sha512Tag = 8, 273 Sha512Tag = 8,
274 AesGcmTag = 9, 274 AesGcmTag = 9,
275 RsaOaepTag = 10, 275 RsaOaepTag = 10,
276 AesCtrTag = 11, 276 AesCtrTag = 11,
277 AesKwTag = 12, 277 AesKwTag = 12,
278 RsaPssTag = 13,
278 // Maximum allowed value is 2^32-1 279 // Maximum allowed value is 2^32-1
279 }; 280 };
280 281
281 enum CryptoKeyUsage { 282 enum CryptoKeyUsage {
282 // Extractability is not a "usage" in the WebCryptoKeyUsages sense, however 283 // Extractability is not a "usage" in the WebCryptoKeyUsages sense, however
283 // it fits conveniently into this bitfield. 284 // it fits conveniently into this bitfield.
284 ExtractableUsage = 1 << 0, 285 ExtractableUsage = 1 << 0,
285 286
286 EncryptUsage = 1 << 1, 287 EncryptUsage = 1 << 1,
287 DecryptUsage = 1 << 2, 288 DecryptUsage = 1 << 2,
(...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 case blink::WebCryptoAlgorithmIdSha512: 773 case blink::WebCryptoAlgorithmIdSha512:
773 return doWriteUint32(Sha512Tag); 774 return doWriteUint32(Sha512Tag);
774 case blink::WebCryptoAlgorithmIdAesGcm: 775 case blink::WebCryptoAlgorithmIdAesGcm:
775 return doWriteUint32(AesGcmTag); 776 return doWriteUint32(AesGcmTag);
776 case blink::WebCryptoAlgorithmIdRsaOaep: 777 case blink::WebCryptoAlgorithmIdRsaOaep:
777 return doWriteUint32(RsaOaepTag); 778 return doWriteUint32(RsaOaepTag);
778 case blink::WebCryptoAlgorithmIdAesCtr: 779 case blink::WebCryptoAlgorithmIdAesCtr:
779 return doWriteUint32(AesCtrTag); 780 return doWriteUint32(AesCtrTag);
780 case blink::WebCryptoAlgorithmIdAesKw: 781 case blink::WebCryptoAlgorithmIdAesKw:
781 return doWriteUint32(AesKwTag); 782 return doWriteUint32(AesKwTag);
783 case blink::WebCryptoAlgorithmIdRsaPss:
784 return doWriteUint32(RsaPssTag);
782 } 785 }
783 ASSERT_NOT_REACHED(); 786 ASSERT_NOT_REACHED();
784 } 787 }
785 788
786 void doWriteKeyUsages(const blink::WebCryptoKeyUsageMask usages, bool extrac table) 789 void doWriteKeyUsages(const blink::WebCryptoKeyUsageMask usages, bool extrac table)
787 { 790 {
788 // Reminder to update this when adding new key usages. 791 // Reminder to update this when adding new key usages.
789 COMPILE_ASSERT(blink::EndOfWebCryptoKeyUsage == (1 << 7) + 1, UpdateMe); 792 COMPILE_ASSERT(blink::EndOfWebCryptoKeyUsage == (1 << 7) + 1, UpdateMe);
790 793
791 uint32_t value = 0; 794 uint32_t value = 0;
(...skipping 1703 matching lines...) Expand 10 before | Expand all | Expand 10 after
2495 return true; 2498 return true;
2496 case RsaOaepTag: 2499 case RsaOaepTag:
2497 id = blink::WebCryptoAlgorithmIdRsaOaep; 2500 id = blink::WebCryptoAlgorithmIdRsaOaep;
2498 return true; 2501 return true;
2499 case AesCtrTag: 2502 case AesCtrTag:
2500 id = blink::WebCryptoAlgorithmIdAesCtr; 2503 id = blink::WebCryptoAlgorithmIdAesCtr;
2501 return true; 2504 return true;
2502 case AesKwTag: 2505 case AesKwTag:
2503 id = blink::WebCryptoAlgorithmIdAesKw; 2506 id = blink::WebCryptoAlgorithmIdAesKw;
2504 return true; 2507 return true;
2508 case RsaPssTag:
2509 id = blink::WebCryptoAlgorithmIdRsaPss;
2510 return true;
2505 } 2511 }
2506 2512
2507 return false; 2513 return false;
2508 } 2514 }
2509 2515
2510 bool doReadKeyUsages(blink::WebCryptoKeyUsageMask& usages, bool& extractable ) 2516 bool doReadKeyUsages(blink::WebCryptoKeyUsageMask& usages, bool& extractable )
2511 { 2517 {
2512 // Reminder to update this when adding new key usages. 2518 // Reminder to update this when adding new key usages.
2513 COMPILE_ASSERT(blink::EndOfWebCryptoKeyUsage == (1 << 7) + 1, UpdateMe); 2519 COMPILE_ASSERT(blink::EndOfWebCryptoKeyUsage == (1 << 7) + 1, UpdateMe);
2514 const uint32_t allPossibleUsages = ExtractableUsage | EncryptUsage | Dec ryptUsage | SignUsage | VerifyUsage | DeriveKeyUsage | WrapKeyUsage | UnwrapKeyU sage | DeriveBitsUsage; 2520 const uint32_t allPossibleUsages = ExtractableUsage | EncryptUsage | Dec ryptUsage | SignUsage | VerifyUsage | DeriveKeyUsage | WrapKeyUsage | UnwrapKeyU sage | DeriveBitsUsage;
(...skipping 548 matching lines...) Expand 10 before | Expand all | Expand 10 after
3063 // If the allocated memory was not registered before, then this class is lik ely 3069 // If the allocated memory was not registered before, then this class is lik ely
3064 // used in a context other then Worker's onmessage environment and the prese nce of 3070 // used in a context other then Worker's onmessage environment and the prese nce of
3065 // current v8 context is not guaranteed. Avoid calling v8 then. 3071 // current v8 context is not guaranteed. Avoid calling v8 then.
3066 if (m_externallyAllocatedMemory) { 3072 if (m_externallyAllocatedMemory) {
3067 ASSERT(v8::Isolate::GetCurrent()); 3073 ASSERT(v8::Isolate::GetCurrent());
3068 v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(-m_exte rnallyAllocatedMemory); 3074 v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(-m_exte rnallyAllocatedMemory);
3069 } 3075 }
3070 } 3076 }
3071 3077
3072 } // namespace blink 3078 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | Source/modules/crypto/NormalizeAlgorithm.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698