Chromium Code Reviews| Index: content/child/webcrypto/shared_crypto_unittest.cc |
| diff --git a/content/child/webcrypto/shared_crypto_unittest.cc b/content/child/webcrypto/shared_crypto_unittest.cc |
| index 38629f90fd49f18b620cc269863cd2b3f7fb5787..2e3834dcb7f35c05cc25ff66c5607696163b088e 100644 |
| --- a/content/child/webcrypto/shared_crypto_unittest.cc |
| +++ b/content/child/webcrypto/shared_crypto_unittest.cc |
| @@ -2626,33 +2626,38 @@ TEST_F(SharedCryptoTest, MAYBE(GenerateKeyPairRsa)) { |
| ExportKey(blink::WebCryptoKeyFormatSpki, private_key, &output)); |
| } |
| -TEST_F(SharedCryptoTest, MAYBE(GenerateKeyPairRsaBadModulusLength)) { |
| - const unsigned int kBadModulus[] = { |
| +TEST_F(SharedCryptoTest, GenerateKeyPairRsaBadModulusLength) { |
| + const unsigned int kBadModulusBits[] = { |
| 0, |
| - 255, // Not a multiple of 8. |
| + 248, // Too small. |
| + 257, // Not a multiple of 8. |
| 1023, // Not a multiple of 8. |
| - 0xFFFFFFFF, // Cannot fit in a signed int. |
| + 0xFFFFFFFF, // Too big. |
| 16384 + 8, // 16384 is the maxmimum length that NSS succeeds for. |
| }; |
| const std::vector<uint8_t> public_exponent = HexStringToBytes("010001"); |
| - for (size_t i = 0; i < arraysize(kBadModulus); ++i) { |
| - const unsigned int modulus_length = kBadModulus[i]; |
| + for (size_t i = 0; i < arraysize(kBadModulusBits); ++i) { |
| + const unsigned int modulus_length_bits = kBadModulusBits[i]; |
| blink::WebCryptoAlgorithm algorithm = CreateRsaHashedKeyGenAlgorithm( |
| blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5, |
| blink::WebCryptoAlgorithmIdSha256, |
| - modulus_length, |
| + modulus_length_bits, |
| public_exponent); |
| bool extractable = true; |
| const blink::WebCryptoKeyUsageMask usage_mask = 0; |
| blink::WebCryptoKey public_key = blink::WebCryptoKey::createNull(); |
| blink::WebCryptoKey private_key = blink::WebCryptoKey::createNull(); |
| - EXPECT_FALSE( |
| + const Status expected_error = |
| + modulus_length_bits == 0 ? Status::ErrorGenerateRsaZeroModulus() |
|
Ryan Sleevi
2014/07/21 21:36:45
Why is this a special case? Just seems like it sho
eroman
2014/07/21 21:52:21
Done.
Indeed, not sure why this was a separate er
|
| + : Status::ErrorGenerateRsaUnsupportedModulus(); |
| + |
| + EXPECT_EQ( |
| + expected_error, |
| GenerateKeyPair( |
| - algorithm, extractable, usage_mask, &public_key, &private_key) |
| - .IsSuccess()); |
| + algorithm, extractable, usage_mask, &public_key, &private_key)); |
| } |
| } |