diff options
author | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-24 04:12:34 +0000 |
---|---|---|
committer | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-24 04:12:34 +0000 |
commit | ac30ed0e1f0d983892195a2dbfbe923557cfca65 (patch) | |
tree | 60527952d4883f60ffcc9c7df70871ea517b96b7 /crypto/ec_private_key_unittest.cc | |
parent | b3594382344a5d24f953b6665a79d8c9afae1360 (diff) | |
download | chromium_src-ac30ed0e1f0d983892195a2dbfbe923557cfca65.zip chromium_src-ac30ed0e1f0d983892195a2dbfbe923557cfca65.tar.gz chromium_src-ac30ed0e1f0d983892195a2dbfbe923557cfca65.tar.bz2 |
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
Diffstat (limited to 'crypto/ec_private_key_unittest.cc')
-rw-r--r-- | crypto/ec_private_key_unittest.cc | 55 |
1 files changed, 47 insertions, 8 deletions
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<crypto::ECPrivateKey> keypair1( - crypto::ECPrivateKey::Create()); - scoped_ptr<crypto::ECPrivateKey> keypair2( - crypto::ECPrivateKey::Create()); + scoped_ptr<crypto::ECPrivateKey> keypair1(crypto::ECPrivateKey::Create()); + scoped_ptr<crypto::ECPrivateKey> keypair2(crypto::ECPrivateKey::Create()); ASSERT_TRUE(keypair1.get()); ASSERT_TRUE(keypair2.get()); @@ -36,12 +34,14 @@ TEST(ECPrivateKeyUnitTest, InitRandomTest) { std::vector<uint8> privkey2; std::vector<uint8> pubkey1; std::vector<uint8> 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<crypto::ECPrivateKey> keypair3( crypto::ECPrivateKey::CreateFromEncryptedPrivateKeyInfo( @@ -68,12 +68,51 @@ TEST(ECPrivateKeyUnitTest, InitRandomTest) { std::vector<uint8> pubkey3; std::vector<uint8> 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<crypto::ECPrivateKey> keypair1(crypto::ECPrivateKey::Create()); + scoped_ptr<crypto::ECPrivateKey> keypair2(keypair1->Copy()); + ASSERT_TRUE(keypair1.get()); + ASSERT_TRUE(keypair2.get()); + + std::vector<uint8> key1value; + std::vector<uint8> key2value; + EXPECT_TRUE(keypair1->ExportValue(&key1value)); + EXPECT_TRUE(keypair2->ExportValue(&key2value)); + EXPECT_EQ(key1value, key2value); + + std::vector<uint8> key1params; + std::vector<uint8> key2params; + EXPECT_TRUE(keypair1->ExportECParams(&key1params)); + EXPECT_TRUE(keypair2->ExportECParams(&key2params)); + EXPECT_EQ(key1params, key2params); + + std::vector<uint8> pubkey1; + std::vector<uint8> 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; |