Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1008)

Side by Side Diff: crypto/rsa_private_key_nss_unittest.cc

Issue 559623002: Allow a crypto::RSAPrivateKey object to be wrapped round a pre-existing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Ouch, try again for the neither NSS nor openssl case Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « crypto/rsa_private_key.h ('k') | crypto/rsa_private_key_openssl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "crypto/rsa_private_key.h" 5 #include "crypto/rsa_private_key.h"
6 6
7 #include <keyhi.h> 7 #include <keyhi.h>
8 #include <pk11pub.h> 8 #include <pk11pub.h>
9 9
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "crypto/scoped_test_nss_db.h" 11 #include "crypto/scoped_test_nss_db.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 13
14 namespace crypto { 14 namespace crypto {
15 15
16 class RSAPrivateKeyNSSTest : public testing::Test { 16 class RSAPrivateKeyNSSTest : public testing::Test {
17 public: 17 public:
18 RSAPrivateKeyNSSTest() {} 18 RSAPrivateKeyNSSTest() {}
19 virtual ~RSAPrivateKeyNSSTest() {} 19 virtual ~RSAPrivateKeyNSSTest() {}
20 20
21 private: 21 private:
22 ScopedTestNSSDB test_nssdb_; 22 ScopedTestNSSDB test_nssdb_;
23 23
24 DISALLOW_COPY_AND_ASSIGN(RSAPrivateKeyNSSTest); 24 DISALLOW_COPY_AND_ASSIGN(RSAPrivateKeyNSSTest);
25 }; 25 };
26 26
27 TEST_F(RSAPrivateKeyNSSTest, CreateFromKeyTest) {
28 scoped_ptr<crypto::RSAPrivateKey> key_pair(RSAPrivateKey::Create(256));
29
30 scoped_ptr<crypto::RSAPrivateKey> key_copy(
31 RSAPrivateKey::CreateFromKey(key_pair->key()));
32 ASSERT_TRUE(key_copy.get());
33
34 std::vector<uint8> privkey;
35 std::vector<uint8> pubkey;
36 ASSERT_TRUE(key_pair->ExportPrivateKey(&privkey));
37 ASSERT_TRUE(key_pair->ExportPublicKey(&pubkey));
38
39 std::vector<uint8> privkey_copy;
40 std::vector<uint8> pubkey_copy;
41 ASSERT_TRUE(key_copy->ExportPrivateKey(&privkey_copy));
42 ASSERT_TRUE(key_copy->ExportPublicKey(&pubkey_copy));
43
44 ASSERT_EQ(privkey, privkey_copy);
45 ASSERT_EQ(pubkey, pubkey_copy);
46 }
47
48 TEST_F(RSAPrivateKeyNSSTest, FindFromPublicKey) { 27 TEST_F(RSAPrivateKeyNSSTest, FindFromPublicKey) {
49 // Create a keypair, which will put the keys in the user's NSSDB. 28 // Create a keypair, which will put the keys in the user's NSSDB.
50 scoped_ptr<crypto::RSAPrivateKey> key_pair(RSAPrivateKey::Create(256)); 29 scoped_ptr<crypto::RSAPrivateKey> key_pair(RSAPrivateKey::Create(256));
51 30
52 std::vector<uint8> public_key; 31 std::vector<uint8> public_key;
53 ASSERT_TRUE(key_pair->ExportPublicKey(&public_key)); 32 ASSERT_TRUE(key_pair->ExportPublicKey(&public_key));
54 33
55 scoped_ptr<crypto::RSAPrivateKey> key_pair_2( 34 scoped_ptr<crypto::RSAPrivateKey> key_pair_2(
56 crypto::RSAPrivateKey::FindFromPublicKeyInfo(public_key)); 35 crypto::RSAPrivateKey::FindFromPublicKeyInfo(public_key));
57 36
(...skipping 14 matching lines...) Expand all
72 } 51 }
73 if (key_pair->public_key_) { 52 if (key_pair->public_key_) {
74 PK11_DestroyTokenObject(key_pair->public_key_->pkcs11Slot, 53 PK11_DestroyTokenObject(key_pair->public_key_->pkcs11Slot,
75 key_pair->public_key_->pkcs11ID); 54 key_pair->public_key_->pkcs11ID);
76 } 55 }
77 56
78 EXPECT_EQ(NULL, crypto::RSAPrivateKey::FindFromPublicKeyInfo(public_key)); 57 EXPECT_EQ(NULL, crypto::RSAPrivateKey::FindFromPublicKeyInfo(public_key));
79 } 58 }
80 59
81 } // namespace crypto 60 } // namespace crypto
OLDNEW
« no previous file with comments | « crypto/rsa_private_key.h ('k') | crypto/rsa_private_key_openssl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698