From ac30ed0e1f0d983892195a2dbfbe923557cfca65 Mon Sep 17 00:00:00 2001 From: "wtc@chromium.org" Date: Tue, 24 Jun 2014 04:12:34 +0000 Subject: crypto: Add ECPrivateKey::Copy (not needed for OpenSSL) and ECPrivateKey::ExportRawPublicKey. R=rsleevi@chromium.org Review URL: https://codereview.chromium.org/279973005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@279308 0039d316-1c4b-4281-b951-d872f2087c98 --- crypto/ec_private_key_unittest.cc | 55 +++++++++++++++++++++++++++++++++------ 1 file changed, 47 insertions(+), 8 deletions(-) (limited to 'crypto/ec_private_key_unittest.cc') diff --git a/crypto/ec_private_key_unittest.cc b/crypto/ec_private_key_unittest.cc index 8f653f1..0f4479b 100644 --- a/crypto/ec_private_key_unittest.cc +++ b/crypto/ec_private_key_unittest.cc @@ -16,10 +16,8 @@ TEST(ECPrivateKeyUnitTest, InitRandomTest) { const std::string password1; const std::string password2 = "test"; - scoped_ptr keypair1( - crypto::ECPrivateKey::Create()); - scoped_ptr keypair2( - crypto::ECPrivateKey::Create()); + scoped_ptr keypair1(crypto::ECPrivateKey::Create()); + scoped_ptr keypair2(crypto::ECPrivateKey::Create()); ASSERT_TRUE(keypair1.get()); ASSERT_TRUE(keypair2.get()); @@ -36,12 +34,14 @@ TEST(ECPrivateKeyUnitTest, InitRandomTest) { std::vector privkey2; std::vector pubkey1; std::vector pubkey2; - ASSERT_TRUE(keypair1->ExportEncryptedPrivateKey( - password1, 1, &privkey1)); - ASSERT_TRUE(keypair2->ExportEncryptedPrivateKey( - password2, 1, &privkey2)); + std::string raw_pubkey1; + std::string raw_pubkey2; + ASSERT_TRUE(keypair1->ExportEncryptedPrivateKey(password1, 1, &privkey1)); + ASSERT_TRUE(keypair2->ExportEncryptedPrivateKey(password2, 1, &privkey2)); EXPECT_TRUE(keypair1->ExportPublicKey(&pubkey1)); EXPECT_TRUE(keypair2->ExportPublicKey(&pubkey2)); + EXPECT_TRUE(keypair1->ExportRawPublicKey(&raw_pubkey1)); + EXPECT_TRUE(keypair2->ExportRawPublicKey(&raw_pubkey2)); scoped_ptr keypair3( crypto::ECPrivateKey::CreateFromEncryptedPrivateKeyInfo( @@ -68,12 +68,51 @@ TEST(ECPrivateKeyUnitTest, InitRandomTest) { std::vector pubkey3; std::vector pubkey4; + std::string raw_pubkey3; + std::string raw_pubkey4; EXPECT_TRUE(keypair3->ExportPublicKey(&pubkey3)); EXPECT_TRUE(keypair4->ExportPublicKey(&pubkey4)); + EXPECT_TRUE(keypair3->ExportRawPublicKey(&raw_pubkey3)); + EXPECT_TRUE(keypair4->ExportRawPublicKey(&raw_pubkey4)); EXPECT_EQ(pubkey1, pubkey3); EXPECT_EQ(pubkey2, pubkey4); + EXPECT_EQ(raw_pubkey1, raw_pubkey3); + EXPECT_EQ(raw_pubkey2, raw_pubkey4); +} + +#if !defined(USE_OPENSSL) +TEST(ECPrivateKeyUnitTest, Copy) { + scoped_ptr keypair1(crypto::ECPrivateKey::Create()); + scoped_ptr keypair2(keypair1->Copy()); + ASSERT_TRUE(keypair1.get()); + ASSERT_TRUE(keypair2.get()); + + std::vector key1value; + std::vector key2value; + EXPECT_TRUE(keypair1->ExportValue(&key1value)); + EXPECT_TRUE(keypair2->ExportValue(&key2value)); + EXPECT_EQ(key1value, key2value); + + std::vector key1params; + std::vector key2params; + EXPECT_TRUE(keypair1->ExportECParams(&key1params)); + EXPECT_TRUE(keypair2->ExportECParams(&key2params)); + EXPECT_EQ(key1params, key2params); + + std::vector pubkey1; + std::vector pubkey2; + EXPECT_TRUE(keypair1->ExportPublicKey(&pubkey1)); + EXPECT_TRUE(keypair2->ExportPublicKey(&pubkey2)); + EXPECT_EQ(pubkey1, pubkey2); + + std::string raw_pubkey1; + std::string raw_pubkey2; + EXPECT_TRUE(keypair1->ExportRawPublicKey(&raw_pubkey1)); + EXPECT_TRUE(keypair2->ExportRawPublicKey(&raw_pubkey2)); + EXPECT_EQ(raw_pubkey1, raw_pubkey2); } +#endif // !defined(USE_OPENSSL) TEST(ECPrivateKeyUnitTest, BadPasswordTest) { const std::string password1; -- cgit v1.1