| Index: net/ssl/test_ssl_private_key.cc
|
| diff --git a/net/ssl/test_ssl_private_key.cc b/net/ssl/test_ssl_private_key.cc
|
| index ddcce8865bbe9811a3d7a74e56b32cff403656dc..59dea2f77369f2a33ffb186c65f9766efea176a8 100644
|
| --- a/net/ssl/test_ssl_private_key.cc
|
| +++ b/net/ssl/test_ssl_private_key.cc
|
| @@ -5,6 +5,7 @@
|
| #include "net/ssl/test_ssl_private_key.h"
|
|
|
| #include <openssl/digest.h>
|
| +#include <openssl/ec.h>
|
| #include <openssl/evp.h>
|
| #include <openssl/rsa.h>
|
|
|
| @@ -14,7 +15,7 @@
|
| #include "base/macros.h"
|
| #include "base/memory/ptr_util.h"
|
| #include "net/base/net_errors.h"
|
| -#include "net/ssl/ssl_platform_key_task_runner.h"
|
| +#include "net/ssl/ssl_platform_key_util.h"
|
| #include "net/ssl/ssl_private_key.h"
|
| #include "net/ssl/threaded_ssl_private_key.h"
|
|
|
| @@ -115,9 +116,25 @@ scoped_refptr<SSLPrivateKey> WrapOpenSSLPrivateKey(
|
| case EVP_PKEY_RSA:
|
| type = SSLPrivateKey::Type::RSA;
|
| break;
|
| - case EVP_PKEY_EC:
|
| - type = SSLPrivateKey::Type::ECDSA;
|
| + case EVP_PKEY_EC: {
|
| + EC_KEY* ec_key = EVP_PKEY_get0_EC_KEY(key.get());
|
| + int curve = EC_GROUP_get_curve_name(EC_KEY_get0_group(ec_key));
|
| + switch (curve) {
|
| + case NID_X9_62_prime256v1:
|
| + type = SSLPrivateKey::Type::ECDSA_P256;
|
| + break;
|
| + case NID_secp384r1:
|
| + type = SSLPrivateKey::Type::ECDSA_P384;
|
| + break;
|
| + case NID_secp521r1:
|
| + type = SSLPrivateKey::Type::ECDSA_P384;
|
| + break;
|
| + default:
|
| + LOG(ERROR) << "Unknown curve: " << curve;
|
| + return nullptr;
|
| + }
|
| break;
|
| + }
|
| default:
|
| LOG(ERROR) << "Unknown key type: " << EVP_PKEY_id(key.get());
|
| return nullptr;
|
|
|