Index: content/child/webcrypto/openssl/aes_key_openssl.cc |
diff --git a/content/child/webcrypto/openssl/aes_key_openssl.cc b/content/child/webcrypto/openssl/aes_key_openssl.cc |
index 1f853b557a92df1ad300109a284363f490b63d7d..17f1470d2210723dd50262d976e989a517f27810 100644 |
--- a/content/child/webcrypto/openssl/aes_key_openssl.cc |
+++ b/content/child/webcrypto/openssl/aes_key_openssl.cc |
@@ -65,6 +65,9 @@ Status AesAlgorithm::ImportKeyRaw(const CryptoData& key_data, |
bool extractable, |
blink::WebCryptoKeyUsageMask usages, |
blink::WebCryptoKey* key) const { |
+ if (usages == 0) |
+ return Status::ErrorImportKeyEmptyUsages(); |
+ |
const unsigned int keylen_bytes = key_data.byte_length(); |
Status status = VerifyAesKeyLengthForImport(keylen_bytes); |
if (status.IsError()) |
@@ -83,6 +86,9 @@ Status AesAlgorithm::ImportKeyJwk(const CryptoData& key_data, |
bool extractable, |
blink::WebCryptoKeyUsageMask usages, |
blink::WebCryptoKey* key) const { |
+ if (usages == 0) |
+ return Status::ErrorImportKeyEmptyUsages(); |
+ |
std::vector<uint8_t> raw_data; |
Status status = ReadAesSecretKeyJwk(key_data, jwk_suffix_, extractable, |
usages, &raw_data); |