Index: crypto/rsa_private_key_nss_unittest.cc |
diff --git a/crypto/rsa_private_key_nss_unittest.cc b/crypto/rsa_private_key_nss_unittest.cc |
index 0ec801d26d1d45b3c8e2c68b28b64734ad569f8b..66d352a0bd25f2e3914239f5b901ecd270331e05 100644 |
--- a/crypto/rsa_private_key_nss_unittest.cc |
+++ b/crypto/rsa_private_key_nss_unittest.cc |
@@ -25,9 +25,32 @@ class RSAPrivateKeyNSSTest : public testing::Test { |
} |
private: |
+ ScopedTestNSSDB test_nssdb_; |
+ |
DISALLOW_COPY_AND_ASSIGN(RSAPrivateKeyNSSTest); |
}; |
+TEST_F(RSAPrivateKeyNSSTest, CreateFromKeyTest) { |
+ scoped_ptr<crypto::RSAPrivateKey> key_pair(RSAPrivateKey::Create(256)); |
+ |
+ scoped_ptr<crypto::RSAPrivateKey> key_copy( |
+ RSAPrivateKey::CreateFromKey(key_pair->key())); |
+ ASSERT_TRUE(key_copy.get()); |
+ |
+ std::vector<uint8> privkey; |
+ std::vector<uint8> pubkey; |
+ ASSERT_TRUE(key_pair->ExportPrivateKey(&privkey)); |
+ ASSERT_TRUE(key_pair->ExportPublicKey(&pubkey)); |
+ |
+ std::vector<uint8> privkey_copy; |
+ std::vector<uint8> pubkey_copy; |
+ ASSERT_TRUE(key_copy->ExportPrivateKey(&privkey_copy)); |
+ ASSERT_TRUE(key_copy->ExportPublicKey(&pubkey_copy)); |
+ |
+ ASSERT_EQ(privkey, privkey_copy); |
+ ASSERT_EQ(pubkey, pubkey_copy); |
+} |
+ |
TEST_F(RSAPrivateKeyNSSTest, FindFromPublicKey) { |
// Create a keypair, which will put the keys in the user's NSSDB. |
scoped_ptr<crypto::RSAPrivateKey> key_pair(RSAPrivateKey::Create(256)); |