Index: content/renderer/webcrypto/shared_crypto_unittest.cc |
diff --git a/content/renderer/webcrypto/shared_crypto_unittest.cc b/content/renderer/webcrypto/shared_crypto_unittest.cc |
index 4933f631195e6b19ba15dd70d9166a5dfb222c14..c02b8aa783158c7379972499a251f49444e24376 100644 |
--- a/content/renderer/webcrypto/shared_crypto_unittest.cc |
+++ b/content/renderer/webcrypto/shared_crypto_unittest.cc |
@@ -25,9 +25,7 @@ |
#include "testing/gtest/include/gtest/gtest.h" |
#include "third_party/WebKit/public/platform/WebArrayBuffer.h" |
#include "third_party/WebKit/public/platform/WebCryptoAlgorithm.h" |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
#include "third_party/WebKit/public/platform/WebCryptoKeyAlgorithm.h" |
-#endif |
#include "third_party/WebKit/public/platform/WebCryptoAlgorithmParams.h" |
#include "third_party/WebKit/public/platform/WebCryptoKey.h" |
#include "third_party/re2/re2/re2.h" |
@@ -78,12 +76,8 @@ blink::WebCryptoAlgorithm CreateRsaHashedKeyGenAlgorithm( |
DCHECK(IsHashAlgorithm(hash_id)); |
return blink::WebCryptoAlgorithm::adoptParamsAndCreate( |
algorithm_id, |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
new blink::WebCryptoRsaHashedKeyGenParams( |
CreateAlgorithm(hash_id), |
-#else |
- new blink::WebCryptoRsaKeyGenParams( |
-#endif |
modulus_length, |
webcrypto::Uint8VectorStart(public_exponent), |
public_exponent.size())); |
@@ -122,11 +116,7 @@ blink::WebCryptoAlgorithm CreateHmacKeyGenAlgorithm( |
// key_length_bytes == 0 means unspecified |
return blink::WebCryptoAlgorithm::adoptParamsAndCreate( |
blink::WebCryptoAlgorithmIdHmac, |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
new blink::WebCryptoHmacKeyGenParams( |
-#else |
- new blink::WebCryptoHmacKeyParams( |
-#endif |
CreateAlgorithm(hash_id), (key_length_bytes != 0), key_length_bytes)); |
} |
@@ -318,12 +308,7 @@ blink::WebCryptoAlgorithm CreateRsaHashedImportAlgorithm( |
DCHECK(IsHashAlgorithm(hash_id)); |
return blink::WebCryptoAlgorithm::adoptParamsAndCreate( |
algorithm_id, |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
new blink::WebCryptoRsaHashedImportParams(CreateAlgorithm(hash_id))); |
-#else |
- // Good enough for the tests. |
- new blink::WebCryptoRsaSsaParams(CreateAlgorithm(hash_id))); |
-#endif |
} |
// Determines if two ArrayBuffers have identical content. |
@@ -611,9 +596,7 @@ TEST_F(SharedCryptoTest, HMACSampleSets) { |
importAlgorithm, |
blink::WebCryptoKeyUsageSign | blink::WebCryptoKeyUsageVerify); |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
EXPECT_EQ(test_hash.id(), key.algorithm().hmacParams()->hash().id()); |
-#endif |
// Verify exported raw key is identical to the imported data |
blink::WebArrayBuffer raw_key; |
@@ -772,9 +755,7 @@ TEST_F(SharedCryptoTest, MAYBE(AesCbcSampleSets)) { |
CreateAlgorithm(blink::WebCryptoAlgorithmIdAesCbc), |
blink::WebCryptoKeyUsageEncrypt | blink::WebCryptoKeyUsageDecrypt); |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
EXPECT_EQ(test_key.size() * 8, key.algorithm().aesParams()->lengthBits()); |
-#endif |
// Verify exported raw key is identical to the imported data |
blink::WebArrayBuffer raw_key; |
@@ -850,10 +831,8 @@ TEST_F(SharedCryptoTest, MAYBE(GenerateKeyAes)) { |
EXPECT_EQ(blink::WebCryptoKeyTypeSecret, key.type()); |
ASSERT_STATUS_SUCCESS( |
ExportKey(blink::WebCryptoKeyFormatRaw, key, &key_bytes)); |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
EXPECT_EQ(key_bytes.byteLength() * 8, |
key.algorithm().aesParams()->lengthBits()); |
-#endif |
keys.push_back(key_bytes); |
} |
// Ensure all entries in the key sample set are unique. This is a simplistic |
@@ -892,10 +871,8 @@ TEST_F(SharedCryptoTest, MAYBE(GenerateKeyHmac)) { |
EXPECT_TRUE(key.handle()); |
EXPECT_EQ(blink::WebCryptoKeyTypeSecret, key.type()); |
EXPECT_EQ(blink::WebCryptoAlgorithmIdHmac, key.algorithm().id()); |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
EXPECT_EQ(blink::WebCryptoAlgorithmIdSha1, |
key.algorithm().hmacParams()->hash().id()); |
-#endif |
blink::WebArrayBuffer raw_key; |
ASSERT_STATUS_SUCCESS( |
@@ -923,10 +900,8 @@ TEST_F(SharedCryptoTest, MAYBE(GenerateKeyHmacNoLength)) { |
// The block size for HMAC SHA-512 is larger. |
algorithm = CreateHmacKeyGenAlgorithm(blink::WebCryptoAlgorithmIdSha512, 0); |
ASSERT_STATUS_SUCCESS(GenerateSecretKey(algorithm, true, 0, &key)); |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
EXPECT_EQ(blink::WebCryptoAlgorithmIdSha512, |
key.algorithm().hmacParams()->hash().id()); |
-#endif |
ASSERT_STATUS_SUCCESS(ExportKey(blink::WebCryptoKeyFormatRaw, key, &raw_key)); |
EXPECT_EQ(128U, raw_key.byteLength()); |
} |
@@ -1282,10 +1257,8 @@ TEST_F(SharedCryptoTest, MAYBE(ImportJwkHappy)) { |
ASSERT_STATUS_SUCCESS( |
ImportKeyJwkFromDict(dict, algorithm, extractable, usage_mask, &key)); |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
EXPECT_EQ(blink::WebCryptoAlgorithmIdSha256, |
key.algorithm().hmacParams()->hash().id()); |
-#endif |
const std::vector<uint8> message_raw = HexStringToBytes( |
"b1689c2591eaf3c9e66070f8a77954ffb81749f1b00346f9dfe0b2ee905dcc288baf4a" |
@@ -1322,11 +1295,9 @@ TEST_F(SharedCryptoTest, MAYBE(ImportExportSpki)) { |
EXPECT_EQ(blink::WebCryptoKeyTypePublic, key.type()); |
EXPECT_TRUE(key.extractable()); |
EXPECT_EQ(blink::WebCryptoKeyUsageEncrypt, key.usages()); |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
EXPECT_EQ(kModulusLength, key.algorithm().rsaParams()->modulusLengthBits()); |
ExpectCryptoDataMatchesHex( |
"010001", CryptoData(key.algorithm().rsaParams()->publicExponent())); |
-#endif |
// Failing case: Empty SPKI data |
EXPECT_STATUS(Status::ErrorImportEmptyKeyData(), |
@@ -1407,7 +1378,6 @@ TEST_F(SharedCryptoTest, MAYBE(ImportPkcs8)) { |
EXPECT_EQ(blink::WebCryptoKeyTypePrivate, key.type()); |
EXPECT_TRUE(key.extractable()); |
EXPECT_EQ(blink::WebCryptoKeyUsageSign, key.usages()); |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
EXPECT_EQ(blink::WebCryptoAlgorithmIdSha1, |
key.algorithm().rsaHashedParams()->hash().id()); |
EXPECT_EQ(kModulusLength, |
@@ -1415,7 +1385,6 @@ TEST_F(SharedCryptoTest, MAYBE(ImportPkcs8)) { |
ExpectCryptoDataMatchesHex( |
"010001", |
CryptoData(key.algorithm().rsaHashedParams()->publicExponent())); |
-#endif |
// Failing case: Empty PKCS#8 data |
EXPECT_STATUS(Status::ErrorImportEmptyKeyData(), |
@@ -1552,7 +1521,6 @@ TEST_F(SharedCryptoTest, MAYBE(GenerateKeyPairRsa)) { |
EXPECT_FALSE(private_key.isNull()); |
EXPECT_EQ(blink::WebCryptoKeyTypePublic, public_key.type()); |
EXPECT_EQ(blink::WebCryptoKeyTypePrivate, private_key.type()); |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
EXPECT_EQ(modulus_length, |
public_key.algorithm().rsaHashedParams()->modulusLengthBits()); |
EXPECT_EQ(modulus_length, |
@@ -1561,7 +1529,6 @@ TEST_F(SharedCryptoTest, MAYBE(GenerateKeyPairRsa)) { |
public_key.algorithm().rsaHashedParams()->hash().id()); |
EXPECT_EQ(blink::WebCryptoAlgorithmIdSha256, |
private_key.algorithm().rsaHashedParams()->hash().id()); |
-#endif |
EXPECT_TRUE(public_key.extractable()); |
EXPECT_EQ(extractable, private_key.extractable()); |
EXPECT_EQ(usage_mask, public_key.usages()); |
@@ -1579,7 +1546,6 @@ TEST_F(SharedCryptoTest, MAYBE(GenerateKeyPairRsa)) { |
EXPECT_FALSE(private_key.isNull()); |
EXPECT_EQ(blink::WebCryptoKeyTypePublic, public_key.type()); |
EXPECT_EQ(blink::WebCryptoKeyTypePrivate, private_key.type()); |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
EXPECT_EQ(modulus_length, |
public_key.algorithm().rsaHashedParams()->modulusLengthBits()); |
EXPECT_EQ(modulus_length, |
@@ -1588,7 +1554,6 @@ TEST_F(SharedCryptoTest, MAYBE(GenerateKeyPairRsa)) { |
public_key.algorithm().rsaHashedParams()->hash().id()); |
EXPECT_EQ(blink::WebCryptoAlgorithmIdSha1, |
private_key.algorithm().rsaHashedParams()->hash().id()); |
-#endif |
// Even though "extractable" was set to false, the public key remains |
// extractable. |
EXPECT_TRUE(public_key.extractable()); |
@@ -1801,12 +1766,8 @@ TEST_F(SharedCryptoTest, MAYBE(RsaSsaSignVerifyFailures)) { |
&public_key, |
&private_key); |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
blink::WebCryptoAlgorithm algorithm = |
CreateAlgorithm(blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5); |
-#else |
- blink::WebCryptoAlgorithm algorithm = importAlgorithm; |
-#endif |
blink::WebArrayBuffer signature; |
bool signature_match; |
@@ -1879,7 +1840,6 @@ TEST_F(SharedCryptoTest, MAYBE(RsaSsaSignVerifyFailures)) { |
CryptoData(data), |
&signature_match)); |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
// Some crypto libraries (NSS) can automatically select the RSA SSA inner hash |
// based solely on the contents of the input signature data. In the Web Crypto |
// implementation, the inner hash should be specified uniquely by the key |
@@ -1924,7 +1884,6 @@ TEST_F(SharedCryptoTest, MAYBE(RsaSsaSignVerifyFailures)) { |
CryptoData(data), |
&is_match)); |
EXPECT_FALSE(is_match); |
-#endif |
} |
TEST_F(SharedCryptoTest, MAYBE(RsaSignVerifyKnownAnswer)) { |
@@ -1946,12 +1905,8 @@ TEST_F(SharedCryptoTest, MAYBE(RsaSignVerifyKnownAnswer)) { |
&public_key, |
&private_key); |
-#ifdef WEBCRYPTO_HAS_KEY_ALGORITHM |
blink::WebCryptoAlgorithm algorithm = |
CreateAlgorithm(blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5); |
-#else |
- const blink::WebCryptoAlgorithm& algorithm = importAlgorithm; |
-#endif |
// Validate the signatures are computed and verified as expected. |
blink::WebArrayBuffer signature; |