Index: crypto/rsa_private_key.cc |
diff --git a/crypto/rsa_private_key.cc b/crypto/rsa_private_key.cc |
index 3c00f48447973c751056983fc3b1489a47080431..19d72438026abd87b08772f3ed2f66a6eb3c5728 100644 |
--- a/crypto/rsa_private_key.cc |
+++ b/crypto/rsa_private_key.cc |
@@ -12,11 +12,10 @@ |
#include <stdint.h> |
#include <memory> |
+#include <utility> |
#include "base/logging.h" |
-#include "crypto/auto_cbb.h" |
#include "crypto/openssl_util.h" |
-#include "crypto/scoped_openssl_types.h" |
namespace crypto { |
@@ -24,8 +23,8 @@ namespace crypto { |
std::unique_ptr<RSAPrivateKey> RSAPrivateKey::Create(uint16_t num_bits) { |
OpenSSLErrStackTracer err_tracer(FROM_HERE); |
- ScopedRSA rsa_key(RSA_new()); |
- ScopedBIGNUM bn(BN_new()); |
+ bssl::UniquePtr<RSA> rsa_key(RSA_new()); |
+ bssl::UniquePtr<BIGNUM> bn(BN_new()); |
if (!rsa_key.get() || !bn.get() || !BN_set_word(bn.get(), 65537L)) |
return nullptr; |
@@ -33,8 +32,8 @@ std::unique_ptr<RSAPrivateKey> RSAPrivateKey::Create(uint16_t num_bits) { |
return nullptr; |
std::unique_ptr<RSAPrivateKey> result(new RSAPrivateKey); |
- result->key_ = EVP_PKEY_new(); |
- if (!result->key_ || !EVP_PKEY_set1_RSA(result->key_, rsa_key.get())) |
+ result->key_.reset(EVP_PKEY_new()); |
+ if (!result->key_ || !EVP_PKEY_set1_RSA(result->key_.get(), rsa_key.get())) |
return nullptr; |
return result; |
@@ -47,12 +46,12 @@ std::unique_ptr<RSAPrivateKey> RSAPrivateKey::CreateFromPrivateKeyInfo( |
CBS cbs; |
CBS_init(&cbs, input.data(), input.size()); |
- ScopedEVP_PKEY pkey(EVP_parse_private_key(&cbs)); |
+ bssl::UniquePtr<EVP_PKEY> pkey(EVP_parse_private_key(&cbs)); |
if (!pkey || CBS_len(&cbs) != 0 || EVP_PKEY_id(pkey.get()) != EVP_PKEY_RSA) |
return nullptr; |
std::unique_ptr<RSAPrivateKey> result(new RSAPrivateKey); |
- result->key_ = pkey.release(); |
+ result->key_ = std::move(pkey); |
return result; |
} |
@@ -63,24 +62,21 @@ std::unique_ptr<RSAPrivateKey> RSAPrivateKey::CreateFromKey(EVP_PKEY* key) { |
return nullptr; |
std::unique_ptr<RSAPrivateKey> copy(new RSAPrivateKey); |
EVP_PKEY_up_ref(key); |
- copy->key_ = key; |
+ copy->key_.reset(key); |
return copy; |
} |
-RSAPrivateKey::RSAPrivateKey() : key_(nullptr) {} |
+RSAPrivateKey::RSAPrivateKey() {} |
-RSAPrivateKey::~RSAPrivateKey() { |
- if (key_) |
- EVP_PKEY_free(key_); |
-} |
+RSAPrivateKey::~RSAPrivateKey() {} |
std::unique_ptr<RSAPrivateKey> RSAPrivateKey::Copy() const { |
std::unique_ptr<RSAPrivateKey> copy(new RSAPrivateKey); |
- ScopedRSA rsa(EVP_PKEY_get1_RSA(key_)); |
+ bssl::UniquePtr<RSA> rsa(EVP_PKEY_get1_RSA(key_.get())); |
if (!rsa) |
return nullptr; |
- copy->key_ = EVP_PKEY_new(); |
- if (!EVP_PKEY_set1_RSA(copy->key_, rsa.get())) |
+ copy->key_.reset(EVP_PKEY_new()); |
+ if (!EVP_PKEY_set1_RSA(copy->key_.get(), rsa.get())) |
return nullptr; |
return copy; |
} |
@@ -89,9 +85,9 @@ bool RSAPrivateKey::ExportPrivateKey(std::vector<uint8_t>* output) const { |
OpenSSLErrStackTracer err_tracer(FROM_HERE); |
uint8_t *der; |
size_t der_len; |
- AutoCBB cbb; |
+ bssl::ScopedCBB cbb; |
if (!CBB_init(cbb.get(), 0) || |
- !EVP_marshal_private_key(cbb.get(), key_) || |
+ !EVP_marshal_private_key(cbb.get(), key_.get()) || |
!CBB_finish(cbb.get(), &der, &der_len)) { |
return false; |
} |
@@ -104,9 +100,9 @@ bool RSAPrivateKey::ExportPublicKey(std::vector<uint8_t>* output) const { |
OpenSSLErrStackTracer err_tracer(FROM_HERE); |
uint8_t *der; |
size_t der_len; |
- AutoCBB cbb; |
+ bssl::ScopedCBB cbb; |
if (!CBB_init(cbb.get(), 0) || |
- !EVP_marshal_public_key(cbb.get(), key_) || |
+ !EVP_marshal_public_key(cbb.get(), key_.get()) || |
!CBB_finish(cbb.get(), &der, &der_len)) { |
return false; |
} |