Index: content/child/webcrypto/openssl/ec_key_openssl.h |
diff --git a/content/child/webcrypto/openssl/rsa_key_openssl.h b/content/child/webcrypto/openssl/ec_key_openssl.h |
similarity index 71% |
copy from content/child/webcrypto/openssl/rsa_key_openssl.h |
copy to content/child/webcrypto/openssl/ec_key_openssl.h |
index 91de209f985b7382d522b64cbf4d6563438c3bba..edd652dc858a79a6570d72efd2028b9d273f7548 100644 |
--- a/content/child/webcrypto/openssl/rsa_key_openssl.h |
+++ b/content/child/webcrypto/openssl/ec_key_openssl.h |
@@ -2,8 +2,8 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef CONTENT_CHILD_WEBCRYPTO_OPENSSL_RSA_KEY_OPENSSL_H_ |
-#define CONTENT_CHILD_WEBCRYPTO_OPENSSL_RSA_KEY_OPENSSL_H_ |
+#ifndef CONTENT_CHILD_WEBCRYPTO_OPENSSL_EC_KEY_OPENSSL_H_ |
+#define CONTENT_CHILD_WEBCRYPTO_OPENSSL_EC_KEY_OPENSSL_H_ |
#include "content/child/webcrypto/algorithm_implementation.h" |
@@ -11,29 +11,21 @@ namespace content { |
namespace webcrypto { |
-// Base class for an RSA algorithm whose keys additionaly have a hash parameter |
-// bound to them. Provides functionality for generating, importing, and |
-// exporting keys. |
-class RsaHashedAlgorithm : public AlgorithmImplementation { |
+// Base class for an EC algorithm. Provides functionality for generating, |
+// importing, and exporting keys. |
+class EcAlgorithm : public AlgorithmImplementation { |
public: |
// |all_public_key_usages| and |all_private_key_usages| are the set of |
// WebCrypto key usages that are valid for created keys (public and private |
// respectively). |
- // |
- // For instance if public keys support encryption and wrapping, and private |
- // keys support decryption and unwrapping callers should set: |
- // all_public_key_usages = UsageEncrypt | UsageWrap |
- // all_private_key_usages = UsageDecrypt | UsageUnwrap |
- // This information is used when importing or generating keys, to enforce |
- // that valid key usages are allowed. |
- RsaHashedAlgorithm(blink::WebCryptoKeyUsageMask all_public_key_usages, |
- blink::WebCryptoKeyUsageMask all_private_key_usages) |
+ EcAlgorithm(blink::WebCryptoKeyUsageMask all_public_key_usages, |
+ blink::WebCryptoKeyUsageMask all_private_key_usages) |
: all_public_key_usages_(all_public_key_usages), |
all_private_key_usages_(all_private_key_usages) {} |
- // For instance "RSA-OAEP-256". |
+ // For instance "ES256". |
virtual const char* GetJwkAlgorithm( |
- const blink::WebCryptoAlgorithmId hash) const = 0; |
+ const blink::WebCryptoNamedCurve curve) const = 0; |
Status GenerateKey(const blink::WebCryptoAlgorithm& algorithm, |
bool extractable, |
@@ -83,12 +75,12 @@ class RsaHashedAlgorithm : public AlgorithmImplementation { |
blink::WebCryptoKey* key) const override; |
private: |
- blink::WebCryptoKeyUsageMask all_public_key_usages_; |
- blink::WebCryptoKeyUsageMask all_private_key_usages_; |
+ const blink::WebCryptoKeyUsageMask all_public_key_usages_; |
+ const blink::WebCryptoKeyUsageMask all_private_key_usages_; |
}; |
} // namespace webcrypto |
} // namespace content |
-#endif // CONTENT_CHILD_WEBCRYPTO_OPENSSL_RSA_KEY_OPENSSL_H_ |
+#endif // CONTENT_CHILD_WEBCRYPTO_OPENSSL_EC_KEY_OPENSSL_H_ |