Index: content/child/webcrypto/nss/aes_key_nss.cc |
diff --git a/content/child/webcrypto/nss/aes_key_nss.cc b/content/child/webcrypto/nss/aes_key_nss.cc |
index d6a7fd9cb514026bfdd5ae6fbc95daee87ca3ac4..07e223e91695e6a07e6a66d0fb6473aae231a89e 100644 |
--- a/content/child/webcrypto/nss/aes_key_nss.cc |
+++ b/content/child/webcrypto/nss/aes_key_nss.cc |
@@ -72,6 +72,9 @@ Status AesAlgorithm::ImportKeyRaw(const CryptoData& key_data, |
bool extractable, |
blink::WebCryptoKeyUsageMask usages, |
blink::WebCryptoKey* key) const { |
+ if (usages == 0) |
+ return Status::ErrorImportKeyEmptyUsages(); |
eroman
2014/12/08 18:46:32
Move this into VerifyKeyUsagesBeforeImportKey() si
|
+ |
const unsigned int keylen_bytes = key_data.byte_length(); |
Status status = VerifyAesKeyLengthForImport(keylen_bytes); |
if (status.IsError()) |
@@ -91,6 +94,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); |