Index: net/android/keystore_unittest.cc |
diff --git a/net/android/keystore_unittest.cc b/net/android/keystore_unittest.cc |
index ff204357f320a22b957fa3a3ab1ed4d9b233405d..076693f850f97fccdad41630ea508d42cef11072 100644 |
--- a/net/android/keystore_unittest.cc |
+++ b/net/android/keystore_unittest.cc |
@@ -25,6 +25,7 @@ |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/string_util.h" |
#include "crypto/openssl_util.h" |
+#include "crypto/scoped_openssl_types.h" |
#include "jni/AndroidKeyStoreTestUtil_jni.h" |
#include "net/android/keystore.h" |
#include "net/android/keystore_openssl.h" |
@@ -56,15 +57,9 @@ namespace android { |
namespace { |
-typedef crypto::ScopedOpenSSL<EVP_PKEY, EVP_PKEY_free> ScopedEVP_PKEY; |
-typedef crypto::ScopedOpenSSL<RSA, RSA_free> ScopedRSA; |
-typedef crypto::ScopedOpenSSL<DSA, DSA_free> ScopedDSA; |
-typedef crypto::ScopedOpenSSL<EC_KEY, EC_KEY_free> ScopedEC_KEY; |
-typedef crypto::ScopedOpenSSL<BIGNUM, BN_free> ScopedBIGNUM; |
- |
-typedef crypto::ScopedOpenSSL< |
- PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO_free> |
- ScopedPKCS8_PRIV_KEY_INFO; |
+typedef crypto::ScopedOpenSSL<PKCS8_PRIV_KEY_INFO, |
+ PKCS8_PRIV_KEY_INFO_free>::Type |
+ ScopedPKCS8_PRIV_KEY_INFO; |
typedef base::android::ScopedJavaLocalRef<jobject> ScopedJava; |
@@ -136,7 +131,7 @@ EVP_PKEY* ImportPrivateKeyFile(const char* filename) { |
// |pkey| is the EVP_PKEY handle for the private key. |
// |pkcs8| will receive the PKCS#8 bytes. |
// Returns true on success, false otherwise. |
-bool GetPrivateKeyPkcs8Bytes(const ScopedEVP_PKEY& pkey, |
+bool GetPrivateKeyPkcs8Bytes(const crypto::ScopedEVP_PKEY& pkey, |
std::string* pkcs8) { |
// Convert to PKCS#8 object. |
ScopedPKCS8_PRIV_KEY_INFO p8_info(EVP_PKEY2PKCS8(pkey.get())); |
@@ -155,7 +150,7 @@ bool GetPrivateKeyPkcs8Bytes(const ScopedEVP_PKEY& pkey, |
bool ImportPrivateKeyFileAsPkcs8(const char* filename, |
std::string* pkcs8) { |
- ScopedEVP_PKEY pkey(ImportPrivateKeyFile(filename)); |
+ crypto::ScopedEVP_PKEY pkey(ImportPrivateKeyFile(filename)); |
if (!pkey.get()) |
return false; |
return GetPrivateKeyPkcs8Bytes(pkey, pkcs8); |
@@ -231,11 +226,11 @@ ScopedJava GetDSATestKeyJava() { |
// to do the check. |
bool VerifyTestDSASignature(const base::StringPiece& message, |
const base::StringPiece& signature) { |
- ScopedEVP_PKEY pkey(ImportPublicKeyFile(kTestDsaPublicKeyFile)); |
+ crypto::ScopedEVP_PKEY pkey(ImportPublicKeyFile(kTestDsaPublicKeyFile)); |
if (!pkey.get()) |
return false; |
- ScopedDSA pub_key(EVP_PKEY_get1_DSA(pkey.get())); |
+ crypto::ScopedDSA pub_key(EVP_PKEY_get1_DSA(pkey.get())); |
if (!pub_key.get()) { |
LOG(ERROR) << "Could not get DSA public key: " |
<< GetOpenSSLErrorString(); |
@@ -279,10 +274,10 @@ ScopedJava GetECDSATestKeyJava() { |
// to do the check. |
bool VerifyTestECDSASignature(const base::StringPiece& message, |
const base::StringPiece& signature) { |
- ScopedEVP_PKEY pkey(ImportPublicKeyFile(kTestEcdsaPublicKeyFile)); |
+ crypto::ScopedEVP_PKEY pkey(ImportPublicKeyFile(kTestEcdsaPublicKeyFile)); |
if (!pkey.get()) |
return false; |
- ScopedEC_KEY pub_key(EVP_PKEY_get1_EC_KEY(pkey.get())); |
+ crypto::ScopedEC_KEY pub_key(EVP_PKEY_get1_EC_KEY(pkey.get())); |
if (!pub_key.get()) { |
LOG(ERROR) << "Could not get ECDSA public key: " |
<< GetOpenSSLErrorString(); |
@@ -323,7 +318,7 @@ bool SignWithOpenSSL(const base::StringPiece& message, |
switch (key_type) { |
case EVP_PKEY_RSA: |
{ |
- ScopedRSA rsa(EVP_PKEY_get1_RSA(openssl_key)); |
+ crypto::ScopedRSA rsa(EVP_PKEY_get1_RSA(openssl_key)); |
if (!rsa.get()) { |
LOG(ERROR) << "Could not get RSA from EVP_PKEY: " |
<< GetOpenSSLErrorString(); |
@@ -345,7 +340,7 @@ bool SignWithOpenSSL(const base::StringPiece& message, |
} |
case EVP_PKEY_DSA: |
{ |
- ScopedDSA dsa(EVP_PKEY_get1_DSA(openssl_key)); |
+ crypto::ScopedDSA dsa(EVP_PKEY_get1_DSA(openssl_key)); |
if (!dsa.get()) { |
LOG(ERROR) << "Could not get DSA from EVP_PKEY: " |
<< GetOpenSSLErrorString(); |
@@ -367,7 +362,7 @@ bool SignWithOpenSSL(const base::StringPiece& message, |
} |
case EVP_PKEY_EC: |
{ |
- ScopedEC_KEY ecdsa(EVP_PKEY_get1_EC_KEY(openssl_key)); |
+ crypto::ScopedEC_KEY ecdsa(EVP_PKEY_get1_EC_KEY(openssl_key)); |
if (!ecdsa.get()) { |
LOG(ERROR) << "Could not get EC_KEY from EVP_PKEY: " |
<< GetOpenSSLErrorString(); |
@@ -494,7 +489,7 @@ TEST(AndroidKeyStore,GetRSAKeyModulus) { |
InitEnv(); |
// Load the test RSA key. |
- ScopedEVP_PKEY pkey(ImportPrivateKeyFile(kTestRsaKeyFile)); |
+ crypto::ScopedEVP_PKEY pkey(ImportPrivateKeyFile(kTestRsaKeyFile)); |
ASSERT_TRUE(pkey.get()); |
// Convert it to encoded PKCS#8 bytes. |
@@ -511,15 +506,14 @@ TEST(AndroidKeyStore,GetRSAKeyModulus) { |
ASSERT_TRUE(GetRSAKeyModulus(key_java.obj(), &modulus_java)); |
// Create an OpenSSL BIGNUM from it. |
- ScopedBIGNUM bn( |
- BN_bin2bn( |
- reinterpret_cast<const unsigned char*>(&modulus_java[0]), |
- static_cast<int>(modulus_java.size()), |
- NULL)); |
+ crypto::ScopedBIGNUM bn( |
+ BN_bin2bn(reinterpret_cast<const unsigned char*>(&modulus_java[0]), |
+ static_cast<int>(modulus_java.size()), |
+ NULL)); |
ASSERT_TRUE(bn.get()); |
// Compare it to the one in the RSA key, they must be identical. |
- ScopedRSA rsa(EVP_PKEY_get1_RSA(pkey.get())); |
+ crypto::ScopedRSA rsa(EVP_PKEY_get1_RSA(pkey.get())); |
ASSERT_TRUE(rsa.get()) << GetOpenSSLErrorString(); |
ASSERT_EQ(0, BN_cmp(bn.get(), rsa.get()->n)); |
@@ -530,7 +524,7 @@ TEST(AndroidKeyStore,GetDSAKeyParamQ) { |
InitEnv(); |
// Load the test DSA key. |
- ScopedEVP_PKEY pkey(ImportPrivateKeyFile(kTestDsaKeyFile)); |
+ crypto::ScopedEVP_PKEY pkey(ImportPrivateKeyFile(kTestDsaKeyFile)); |
ASSERT_TRUE(pkey.get()); |
// Convert it to encoded PKCS#8 bytes. |
@@ -547,15 +541,14 @@ TEST(AndroidKeyStore,GetDSAKeyParamQ) { |
ASSERT_TRUE(GetDSAKeyParamQ(key_java.obj(), &q_java)); |
// Create an OpenSSL BIGNUM from it. |
- ScopedBIGNUM bn( |
- BN_bin2bn( |
- reinterpret_cast<const unsigned char*>(&q_java[0]), |
- static_cast<int>(q_java.size()), |
- NULL)); |
+ crypto::ScopedBIGNUM bn( |
+ BN_bin2bn(reinterpret_cast<const unsigned char*>(&q_java[0]), |
+ static_cast<int>(q_java.size()), |
+ NULL)); |
ASSERT_TRUE(bn.get()); |
// Compare it to the one in the RSA key, they must be identical. |
- ScopedDSA dsa(EVP_PKEY_get1_DSA(pkey.get())); |
+ crypto::ScopedDSA dsa(EVP_PKEY_get1_DSA(pkey.get())); |
ASSERT_TRUE(dsa.get()) << GetOpenSSLErrorString(); |
ASSERT_EQ(0, BN_cmp(bn.get(), dsa.get()->q)); |
@@ -579,7 +572,7 @@ TEST(AndroidKeyStore,SignWithPrivateKeyRSA) { |
return; |
} |
- ScopedEVP_PKEY openssl_key(ImportPrivateKeyFile(kTestRsaKeyFile)); |
+ crypto::ScopedEVP_PKEY openssl_key(ImportPrivateKeyFile(kTestRsaKeyFile)); |
ASSERT_TRUE(openssl_key.get()); |
std::string message = kTestRsaHash; |
@@ -598,10 +591,11 @@ TEST(AndroidKeyStore,SignWithWrapperKeyRSA) { |
ScopedJava rsa_key = GetRSATestKeyJava(); |
ASSERT_FALSE(rsa_key.is_null()); |
- ScopedEVP_PKEY wrapper_key(GetOpenSSLPrivateKeyWrapper(rsa_key.obj())); |
+ crypto::ScopedEVP_PKEY wrapper_key( |
+ GetOpenSSLPrivateKeyWrapper(rsa_key.obj())); |
ASSERT_TRUE(wrapper_key.get() != NULL); |
- ScopedEVP_PKEY openssl_key(ImportPrivateKeyFile(kTestRsaKeyFile)); |
+ crypto::ScopedEVP_PKEY openssl_key(ImportPrivateKeyFile(kTestRsaKeyFile)); |
ASSERT_TRUE(openssl_key.get()); |
// Check that RSA_size() works properly on the wrapper key. |
@@ -635,7 +629,7 @@ TEST(AndroidKeyStore,SignWithPrivateKeyDSA) { |
ScopedJava dsa_key = GetDSATestKeyJava(); |
ASSERT_FALSE(dsa_key.is_null()); |
- ScopedEVP_PKEY openssl_key(ImportPrivateKeyFile(kTestDsaKeyFile)); |
+ crypto::ScopedEVP_PKEY openssl_key(ImportPrivateKeyFile(kTestDsaKeyFile)); |
ASSERT_TRUE(openssl_key.get()); |
std::string message = kTestDsaHash; |
@@ -652,11 +646,11 @@ TEST(AndroidKeyStore,SignWithWrapperKeyDSA) { |
ScopedJava dsa_key = GetDSATestKeyJava(); |
ASSERT_FALSE(dsa_key.is_null()); |
- ScopedEVP_PKEY wrapper_key( |
+ crypto::ScopedEVP_PKEY wrapper_key( |
GetOpenSSLPrivateKeyWrapper(dsa_key.obj())); |
ASSERT_TRUE(wrapper_key.get()); |
- ScopedEVP_PKEY openssl_key(ImportPrivateKeyFile(kTestDsaKeyFile)); |
+ crypto::ScopedEVP_PKEY openssl_key(ImportPrivateKeyFile(kTestDsaKeyFile)); |
ASSERT_TRUE(openssl_key.get()); |
// Check that DSA_size() works correctly on the wrapper. |
@@ -685,7 +679,7 @@ TEST(AndroidKeyStore,SignWithPrivateKeyECDSA) { |
ScopedJava ecdsa_key = GetECDSATestKeyJava(); |
ASSERT_FALSE(ecdsa_key.is_null()); |
- ScopedEVP_PKEY openssl_key(ImportPrivateKeyFile(kTestEcdsaKeyFile)); |
+ crypto::ScopedEVP_PKEY openssl_key(ImportPrivateKeyFile(kTestEcdsaKeyFile)); |
ASSERT_TRUE(openssl_key.get()); |
std::string message = kTestEcdsaHash; |
@@ -700,11 +694,11 @@ TEST(AndroidKeyStore, SignWithWrapperKeyECDSA) { |
ScopedJava ecdsa_key = GetECDSATestKeyJava(); |
ASSERT_FALSE(ecdsa_key.is_null()); |
- ScopedEVP_PKEY wrapper_key( |
+ crypto::ScopedEVP_PKEY wrapper_key( |
GetOpenSSLPrivateKeyWrapper(ecdsa_key.obj())); |
ASSERT_TRUE(wrapper_key.get()); |
- ScopedEVP_PKEY openssl_key(ImportPrivateKeyFile(kTestEcdsaKeyFile)); |
+ crypto::ScopedEVP_PKEY openssl_key(ImportPrivateKeyFile(kTestEcdsaKeyFile)); |
ASSERT_TRUE(openssl_key.get()); |
// Check that ECDSA size works correctly on the wrapper. |