Index: content/child/webcrypto/openssl/ec_key_openssl.cc |
diff --git a/content/child/webcrypto/openssl/ec_key_openssl.cc b/content/child/webcrypto/openssl/ec_key_openssl.cc |
index 81e233701f42767301e104023301db12f4942f6f..f6922f643587b5934e749bb27893ba31c247889d 100644 |
--- a/content/child/webcrypto/openssl/ec_key_openssl.cc |
+++ b/content/child/webcrypto/openssl/ec_key_openssl.cc |
@@ -279,27 +279,11 @@ Status EcAlgorithm::GenerateKey(const blink::WebCryptoAlgorithm& algorithm, |
return Status::Success(); |
} |
-// TODO(eroman): This is identical to RSA. |
Status EcAlgorithm::VerifyKeyUsagesBeforeImportKey( |
blink::WebCryptoKeyFormat format, |
blink::WebCryptoKeyUsageMask usages) const { |
- switch (format) { |
- case blink::WebCryptoKeyFormatSpki: |
- return CheckKeyCreationUsages(all_public_key_usages_, usages); |
- case blink::WebCryptoKeyFormatPkcs8: |
- return CheckKeyCreationUsages(all_private_key_usages_, usages); |
- case blink::WebCryptoKeyFormatJwk: |
- // The JWK could represent either a public key or private key. The usages |
- // must make sense for one of the two. The usages will be checked again by |
- // ImportKeyJwk() once the key type has been determined. |
- if (CheckKeyCreationUsages(all_private_key_usages_, usages).IsSuccess() || |
- CheckKeyCreationUsages(all_public_key_usages_, usages).IsSuccess()) { |
- return Status::Success(); |
- } |
- return Status::ErrorCreateKeyBadUsages(); |
- default: |
- return Status::ErrorUnsupportedImportKeyFormat(); |
- } |
+ return VerifyUsagesBeforeImportAsymmetricKey(format, all_public_key_usages_, |
+ all_private_key_usages_, usages); |
} |
Status EcAlgorithm::ImportKeyPkcs8(const CryptoData& key_data, |