Index: net/ssl/ssl_platform_key_nss.cc |
diff --git a/net/ssl/ssl_platform_key_nss.cc b/net/ssl/ssl_platform_key_nss.cc |
index 447b230e22b8f81d4d549a16894b084555953b4c..e63fb18fb5dad40a6bac116f0d74dd73b19fbd4b 100644 |
--- a/net/ssl/ssl_platform_key_nss.cc |
+++ b/net/ssl/ssl_platform_key_nss.cc |
@@ -24,6 +24,7 @@ |
#include "third_party/boringssl/src/include/openssl/ec.h" |
#include "third_party/boringssl/src/include/openssl/ec_key.h" |
#include "third_party/boringssl/src/include/openssl/ecdsa.h" |
+#include "third_party/boringssl/src/include/openssl/evp.h" |
#include "third_party/boringssl/src/include/openssl/mem.h" |
#include "third_party/boringssl/src/include/openssl/nid.h" |
#include "third_party/boringssl/src/include/openssl/rsa.h" |
@@ -42,14 +43,10 @@ void LogPRError(const char* message) { |
class SSLPlatformKeyNSS : public ThreadedSSLPrivateKey::Delegate { |
public: |
- SSLPlatformKeyNSS(SSLPrivateKey::Type type, |
- size_t max_length, |
- crypto::ScopedSECKEYPrivateKey key) |
- : type_(type), max_length_(max_length), key_(std::move(key)) {} |
+ SSLPlatformKeyNSS(int type, crypto::ScopedSECKEYPrivateKey key) |
+ : type_(type), key_(std::move(key)) {} |
~SSLPlatformKeyNSS() override {} |
- SSLPrivateKey::Type GetType() override { return type_; } |
- |
std::vector<SSLPrivateKey::Hash> GetDigestPreferences() override { |
static const SSLPrivateKey::Hash kHashes[] = { |
SSLPrivateKey::Hash::SHA512, SSLPrivateKey::Hash::SHA384, |
@@ -58,8 +55,6 @@ class SSLPlatformKeyNSS : public ThreadedSSLPrivateKey::Delegate { |
kHashes + arraysize(kHashes)); |
} |
- size_t GetMaxSignatureLengthInBytes() override { return max_length_; } |
- |
Error SignDigest(SSLPrivateKey::Hash hash, |
const base::StringPiece& input, |
std::vector<uint8_t>* signature) override { |
@@ -69,7 +64,7 @@ class SSLPlatformKeyNSS : public ThreadedSSLPrivateKey::Delegate { |
digest_item.len = input.size(); |
bssl::UniquePtr<uint8_t> free_digest_info; |
- if (type_ == SSLPrivateKey::Type::RSA) { |
+ if (type_ == EVP_PKEY_RSA) { |
// PK11_Sign expects the caller to prepend the DigestInfo. |
int hash_nid = NID_undef; |
switch (hash) { |
@@ -120,7 +115,7 @@ class SSLPlatformKeyNSS : public ThreadedSSLPrivateKey::Delegate { |
// NSS emits raw ECDSA signatures, but BoringSSL expects a DER-encoded |
// ECDSA-Sig-Value. |
- if (SSLPrivateKey::IsECDSAType(type_)) { |
+ if (type_ == EVP_PKEY_EC) { |
if (signature->size() % 2 != 0) { |
LOG(ERROR) << "Bad signature length"; |
return ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED; |
@@ -149,8 +144,7 @@ class SSLPlatformKeyNSS : public ThreadedSSLPrivateKey::Delegate { |
} |
private: |
- SSLPrivateKey::Type type_; |
- size_t max_length_; |
+ int type_; |
crypto::ScopedSECKEYPrivateKey key_; |
DISALLOW_COPY_AND_ASSIGN(SSLPlatformKeyNSS); |
@@ -167,13 +161,13 @@ scoped_refptr<SSLPrivateKey> FetchClientCertPrivateKey( |
*certificate); |
} |
- SSLPrivateKey::Type type; |
+ int type; |
size_t max_length; |
if (!GetClientCertInfo(certificate, &type, &max_length)) |
return nullptr; |
return make_scoped_refptr(new ThreadedSSLPrivateKey( |
- base::MakeUnique<SSLPlatformKeyNSS>(type, max_length, std::move(key)), |
+ base::MakeUnique<SSLPlatformKeyNSS>(type, std::move(key)), |
GetSSLPlatformKeyTaskRunner())); |
} |