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

Side by Side Diff: crypto/ec_private_key_unittest.cc

Issue 1935053003: Add PKCS#8 ECPrivateKey export/import functions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix build Created 4 years, 6 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/ec_private_key.cc ('k') | crypto/rsa_private_key.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/ec_private_key.h" 5 #include "crypto/ec_private_key.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
14 14
15 // Generate random private keys. Export, then re-import. We should get 15 namespace {
16 // back the same exact public key, and the private key should have the same
17 // value and elliptic curve params.
18 TEST(ECPrivateKeyUnitTest, InitRandomTest) {
19 const std::string password1;
20 const std::string password2 = "test";
21 16
22 std::unique_ptr<crypto::ECPrivateKey> keypair1( 17 void ExpectKeysEqual(const crypto::ECPrivateKey* keypair1,
23 crypto::ECPrivateKey::Create()); 18 const crypto::ECPrivateKey* keypair2) {
24 std::unique_ptr<crypto::ECPrivateKey> keypair2(
25 crypto::ECPrivateKey::Create());
26 ASSERT_TRUE(keypair1.get());
27 ASSERT_TRUE(keypair2.get());
28
29 std::vector<uint8_t> key1value;
30 std::vector<uint8_t> key2value;
31 EXPECT_TRUE(keypair1->ExportValueForTesting(&key1value));
32 EXPECT_TRUE(keypair2->ExportValueForTesting(&key2value));
33
34 std::vector<uint8_t> privkey1; 19 std::vector<uint8_t> privkey1;
35 std::vector<uint8_t> privkey2; 20 std::vector<uint8_t> privkey2;
21 EXPECT_TRUE(keypair1->ExportPrivateKey(&privkey1));
22 EXPECT_TRUE(keypair2->ExportPrivateKey(&privkey2));
23 EXPECT_EQ(privkey1, privkey2);
24
36 std::vector<uint8_t> pubkey1; 25 std::vector<uint8_t> pubkey1;
37 std::vector<uint8_t> pubkey2; 26 std::vector<uint8_t> pubkey2;
27 EXPECT_TRUE(keypair1->ExportPublicKey(&pubkey1));
28 EXPECT_TRUE(keypair2->ExportPublicKey(&pubkey2));
29 EXPECT_EQ(pubkey1, pubkey2);
30
38 std::string raw_pubkey1; 31 std::string raw_pubkey1;
39 std::string raw_pubkey2; 32 std::string raw_pubkey2;
40 ASSERT_TRUE(keypair1->ExportEncryptedPrivateKey(password1, 1, &privkey1));
41 ASSERT_TRUE(keypair2->ExportEncryptedPrivateKey(password2, 1, &privkey2));
42 EXPECT_TRUE(keypair1->ExportPublicKey(&pubkey1));
43 EXPECT_TRUE(keypair2->ExportPublicKey(&pubkey2));
44 EXPECT_TRUE(keypair1->ExportRawPublicKey(&raw_pubkey1)); 33 EXPECT_TRUE(keypair1->ExportRawPublicKey(&raw_pubkey1));
45 EXPECT_TRUE(keypair2->ExportRawPublicKey(&raw_pubkey2)); 34 EXPECT_TRUE(keypair2->ExportRawPublicKey(&raw_pubkey2));
35 EXPECT_EQ(raw_pubkey1, raw_pubkey2);
36 }
46 37
47 std::unique_ptr<crypto::ECPrivateKey> keypair3( 38 } // namespace
48 crypto::ECPrivateKey::CreateFromEncryptedPrivateKeyInfo(
49 password1, privkey1, pubkey1));
50 std::unique_ptr<crypto::ECPrivateKey> keypair4(
51 crypto::ECPrivateKey::CreateFromEncryptedPrivateKeyInfo(
52 password2, privkey2, pubkey2));
53 ASSERT_TRUE(keypair3.get());
54 ASSERT_TRUE(keypair4.get());
55 39
56 std::vector<uint8_t> key3value; 40 // Generate random private keys. Export, then re-import in several ways. We
57 std::vector<uint8_t> key4value; 41 // should get back the same exact public key, and the private key should have
58 EXPECT_TRUE(keypair3->ExportValueForTesting(&key3value)); 42 // the same value and elliptic curve params.
59 EXPECT_TRUE(keypair4->ExportValueForTesting(&key4value)); 43 TEST(ECPrivateKeyUnitTest, InitRandomTest) {
44 static const char kPassword1[] = "";
45 static const char kPassword2[] = "test";
60 46
61 EXPECT_EQ(key1value, key3value); 47 std::unique_ptr<crypto::ECPrivateKey> keypair(crypto::ECPrivateKey::Create());
62 EXPECT_EQ(key2value, key4value); 48 ASSERT_TRUE(keypair.get());
63 49
64 std::vector<uint8_t> pubkey3; 50 // Re-import as a PrivateKeyInfo.
65 std::vector<uint8_t> pubkey4; 51 std::vector<uint8_t> privkey;
66 std::string raw_pubkey3; 52 EXPECT_TRUE(keypair->ExportPrivateKey(&privkey));
67 std::string raw_pubkey4; 53 std::unique_ptr<crypto::ECPrivateKey> keypair_copy =
68 EXPECT_TRUE(keypair3->ExportPublicKey(&pubkey3)); 54 crypto::ECPrivateKey::CreateFromPrivateKeyInfo(privkey);
69 EXPECT_TRUE(keypair4->ExportPublicKey(&pubkey4)); 55 ASSERT_TRUE(keypair_copy);
70 EXPECT_TRUE(keypair3->ExportRawPublicKey(&raw_pubkey3)); 56 ExpectKeysEqual(keypair.get(), keypair_copy.get());
71 EXPECT_TRUE(keypair4->ExportRawPublicKey(&raw_pubkey4));
72 57
73 EXPECT_EQ(pubkey1, pubkey3); 58 // Re-import as an EncryptedPrivateKeyInfo with kPassword1.
74 EXPECT_EQ(pubkey2, pubkey4); 59 std::vector<uint8_t> encrypted_privkey;
75 EXPECT_EQ(raw_pubkey1, raw_pubkey3); 60 std::vector<uint8_t> pubkey;
76 EXPECT_EQ(raw_pubkey2, raw_pubkey4); 61 EXPECT_TRUE(
62 keypair->ExportEncryptedPrivateKey(kPassword1, 1, &encrypted_privkey));
63 EXPECT_TRUE(keypair->ExportPublicKey(&pubkey));
64 keypair_copy.reset(crypto::ECPrivateKey::CreateFromEncryptedPrivateKeyInfo(
65 kPassword1, encrypted_privkey, pubkey));
66 ASSERT_TRUE(keypair_copy);
67 ExpectKeysEqual(keypair.get(), keypair_copy.get());
68
69 // Re-import as an EncryptedPrivateKeyInfo with kPassword2.
70 EXPECT_TRUE(
71 keypair->ExportEncryptedPrivateKey(kPassword2, 1, &encrypted_privkey));
72 keypair_copy.reset(crypto::ECPrivateKey::CreateFromEncryptedPrivateKeyInfo(
73 kPassword2, encrypted_privkey, pubkey));
74 ASSERT_TRUE(keypair_copy);
75 ExpectKeysEqual(keypair.get(), keypair_copy.get());
77 } 76 }
78 77
79 TEST(ECPrivateKeyUnitTest, Copy) { 78 TEST(ECPrivateKeyUnitTest, Copy) {
80 std::unique_ptr<crypto::ECPrivateKey> keypair1( 79 std::unique_ptr<crypto::ECPrivateKey> keypair1(
81 crypto::ECPrivateKey::Create()); 80 crypto::ECPrivateKey::Create());
82 std::unique_ptr<crypto::ECPrivateKey> keypair2(keypair1->Copy()); 81 std::unique_ptr<crypto::ECPrivateKey> keypair2(keypair1->Copy());
83 ASSERT_TRUE(keypair1.get()); 82 ASSERT_TRUE(keypair1.get());
84 ASSERT_TRUE(keypair2.get()); 83 ASSERT_TRUE(keypair2.get());
85 84
86 std::vector<uint8_t> key1value; 85 ExpectKeysEqual(keypair1.get(), keypair2.get());
87 std::vector<uint8_t> key2value; 86 }
88 EXPECT_TRUE(keypair1->ExportValueForTesting(&key1value));
89 EXPECT_TRUE(keypair2->ExportValueForTesting(&key2value));
90 EXPECT_EQ(key1value, key2value);
91 87
92 std::vector<uint8_t> pubkey1; 88 TEST(ECPrivateKeyUnitTest, CreateFromPrivateKeyInfo) {
93 std::vector<uint8_t> pubkey2; 89 static const uint8_t kPrivateKeyInfo[] = {
94 EXPECT_TRUE(keypair1->ExportPublicKey(&pubkey1)); 90 0x30, 0x81, 0x87, 0x02, 0x01, 0x00, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
95 EXPECT_TRUE(keypair2->ExportPublicKey(&pubkey2)); 91 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
96 EXPECT_EQ(pubkey1, pubkey2); 92 0x03, 0x01, 0x07, 0x04, 0x6d, 0x30, 0x6b, 0x02, 0x01, 0x01, 0x04, 0x20,
93 0x07, 0x0f, 0x08, 0x72, 0x7a, 0xd4, 0xa0, 0x4a, 0x9c, 0xdd, 0x59, 0xc9,
94 0x4d, 0x89, 0x68, 0x77, 0x08, 0xb5, 0x6f, 0xc9, 0x5d, 0x30, 0x77, 0x0e,
95 0xe8, 0xd1, 0xc9, 0xce, 0x0a, 0x8b, 0xb4, 0x6a, 0xa1, 0x44, 0x03, 0x42,
96 0x00, 0x04, 0xe6, 0x2b, 0x69, 0xe2, 0xbf, 0x65, 0x9f, 0x97, 0xbe, 0x2f,
97 0x1e, 0x0d, 0x94, 0x8a, 0x4c, 0xd5, 0x97, 0x6b, 0xb7, 0xa9, 0x1e, 0x0d,
98 0x46, 0xfb, 0xdd, 0xa9, 0xa9, 0x1e, 0x9d, 0xdc, 0xba, 0x5a, 0x01, 0xe7,
99 0xd6, 0x97, 0xa8, 0x0a, 0x18, 0xf9, 0xc3, 0xc4, 0xa3, 0x1e, 0x56, 0xe2,
100 0x7c, 0x83, 0x48, 0xdb, 0x16, 0x1a, 0x1c, 0xf5, 0x1d, 0x7e, 0xf1, 0x94,
101 0x2d, 0x4b, 0xcf, 0x72, 0x22, 0xc1,
102 };
103 static const uint8_t kSubjectPublicKeyInfo[] = {
104 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
105 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
106 0x42, 0x00, 0x04, 0xe6, 0x2b, 0x69, 0xe2, 0xbf, 0x65, 0x9f, 0x97, 0xbe,
107 0x2f, 0x1e, 0x0d, 0x94, 0x8a, 0x4c, 0xd5, 0x97, 0x6b, 0xb7, 0xa9, 0x1e,
108 0x0d, 0x46, 0xfb, 0xdd, 0xa9, 0xa9, 0x1e, 0x9d, 0xdc, 0xba, 0x5a, 0x01,
109 0xe7, 0xd6, 0x97, 0xa8, 0x0a, 0x18, 0xf9, 0xc3, 0xc4, 0xa3, 0x1e, 0x56,
110 0xe2, 0x7c, 0x83, 0x48, 0xdb, 0x16, 0x1a, 0x1c, 0xf5, 0x1d, 0x7e, 0xf1,
111 0x94, 0x2d, 0x4b, 0xcf, 0x72, 0x22, 0xc1,
112 };
113 static const uint8_t kRawPublicKey[] = {
114 0xe6, 0x2b, 0x69, 0xe2, 0xbf, 0x65, 0x9f, 0x97, 0xbe, 0x2f, 0x1e,
115 0x0d, 0x94, 0x8a, 0x4c, 0xd5, 0x97, 0x6b, 0xb7, 0xa9, 0x1e, 0x0d,
116 0x46, 0xfb, 0xdd, 0xa9, 0xa9, 0x1e, 0x9d, 0xdc, 0xba, 0x5a, 0x01,
117 0xe7, 0xd6, 0x97, 0xa8, 0x0a, 0x18, 0xf9, 0xc3, 0xc4, 0xa3, 0x1e,
118 0x56, 0xe2, 0x7c, 0x83, 0x48, 0xdb, 0x16, 0x1a, 0x1c, 0xf5, 0x1d,
119 0x7e, 0xf1, 0x94, 0x2d, 0x4b, 0xcf, 0x72, 0x22, 0xc1,
120 };
97 121
98 std::string raw_pubkey1; 122 std::unique_ptr<crypto::ECPrivateKey> key =
99 std::string raw_pubkey2; 123 crypto::ECPrivateKey::CreateFromPrivateKeyInfo(std::vector<uint8_t>(
100 EXPECT_TRUE(keypair1->ExportRawPublicKey(&raw_pubkey1)); 124 std::begin(kPrivateKeyInfo), std::end(kPrivateKeyInfo)));
101 EXPECT_TRUE(keypair2->ExportRawPublicKey(&raw_pubkey2)); 125 ASSERT_TRUE(key);
102 EXPECT_EQ(raw_pubkey1, raw_pubkey2); 126
127 std::vector<uint8_t> public_key;
128 ASSERT_TRUE(key->ExportPublicKey(&public_key));
129 EXPECT_EQ(std::vector<uint8_t>(std::begin(kSubjectPublicKeyInfo),
130 std::end(kSubjectPublicKeyInfo)),
131 public_key);
132
133 std::string raw_public_key;
134 ASSERT_TRUE(key->ExportRawPublicKey(&raw_public_key));
135 EXPECT_EQ(std::string(reinterpret_cast<const char*>(kRawPublicKey),
136 sizeof(kRawPublicKey)),
137 raw_public_key);
138 }
139
140 TEST(ECPrivateKeyUnitTest, RSAPrivateKeyInfo) {
141 static const uint8_t kPrivateKeyInfo[] = {
142 0x30, 0x82, 0x02, 0x78, 0x02, 0x01, 0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a,
143 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82,
144 0x02, 0x62, 0x30, 0x82, 0x02, 0x5e, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81,
145 0x00, 0xb8, 0x7f, 0x2b, 0x20, 0xdc, 0x7c, 0x9b, 0x0c, 0xdc, 0x51, 0x61,
146 0x99, 0x0d, 0x36, 0x0f, 0xd4, 0x66, 0x88, 0x08, 0x55, 0x84, 0xd5, 0x3a,
147 0xbf, 0x2b, 0xa4, 0x64, 0x85, 0x7b, 0x0c, 0x04, 0x13, 0x3f, 0x8d, 0xf4,
148 0xbc, 0x38, 0x0d, 0x49, 0xfe, 0x6b, 0xc4, 0x5a, 0xb0, 0x40, 0x53, 0x3a,
149 0xd7, 0x66, 0x09, 0x0f, 0x9e, 0x36, 0x74, 0x30, 0xda, 0x8a, 0x31, 0x4f,
150 0x1f, 0x14, 0x50, 0xd7, 0xc7, 0x20, 0x94, 0x17, 0xde, 0x4e, 0xb9, 0x57,
151 0x5e, 0x7e, 0x0a, 0xe5, 0xb2, 0x65, 0x7a, 0x89, 0x4e, 0xb6, 0x47, 0xff,
152 0x1c, 0xbd, 0xb7, 0x38, 0x13, 0xaf, 0x47, 0x85, 0x84, 0x32, 0x33, 0xf3,
153 0x17, 0x49, 0xbf, 0xe9, 0x96, 0xd0, 0xd6, 0x14, 0x6f, 0x13, 0x8d, 0xc5,
154 0xfc, 0x2c, 0x72, 0xba, 0xac, 0xea, 0x7e, 0x18, 0x53, 0x56, 0xa6, 0x83,
155 0xa2, 0xce, 0x93, 0x93, 0xe7, 0x1f, 0x0f, 0xe6, 0x0f, 0x02, 0x03, 0x01,
156 0x00, 0x01, 0x02, 0x81, 0x80, 0x03, 0x61, 0x89, 0x37, 0xcb, 0xf2, 0x98,
157 0xa0, 0xce, 0xb4, 0xcb, 0x16, 0x13, 0xf0, 0xe6, 0xaf, 0x5c, 0xc5, 0xa7,
158 0x69, 0x71, 0xca, 0xba, 0x8d, 0xe0, 0x4d, 0xdd, 0xed, 0xb8, 0x48, 0x8b,
159 0x16, 0x93, 0x36, 0x95, 0xc2, 0x91, 0x40, 0x65, 0x17, 0xbd, 0x7f, 0xd6,
160 0xad, 0x9e, 0x30, 0x28, 0x46, 0xe4, 0x3e, 0xcc, 0x43, 0x78, 0xf9, 0xfe,
161 0x1f, 0x33, 0x23, 0x1e, 0x31, 0x12, 0x9d, 0x3c, 0xa7, 0x08, 0x82, 0x7b,
162 0x7d, 0x25, 0x4e, 0x5e, 0x19, 0xa8, 0x9b, 0xed, 0x86, 0xb2, 0xcb, 0x3c,
163 0xfe, 0x4e, 0xa1, 0xfa, 0x62, 0x87, 0x3a, 0x17, 0xf7, 0x60, 0xec, 0x38,
164 0x29, 0xe8, 0x4f, 0x34, 0x9f, 0x76, 0x9d, 0xee, 0xa3, 0xf6, 0x85, 0x6b,
165 0x84, 0x43, 0xc9, 0x1e, 0x01, 0xff, 0xfd, 0xd0, 0x29, 0x4c, 0xfa, 0x8e,
166 0x57, 0x0c, 0xc0, 0x71, 0xa5, 0xbb, 0x88, 0x46, 0x29, 0x5c, 0xc0, 0x4f,
167 0x01, 0x02, 0x41, 0x00, 0xf5, 0x83, 0xa4, 0x64, 0x4a, 0xf2, 0xdd, 0x8c,
168 0x2c, 0xed, 0xa8, 0xd5, 0x60, 0x5a, 0xe4, 0xc7, 0xcc, 0x61, 0xcd, 0x38,
169 0x42, 0x20, 0xd3, 0x82, 0x18, 0xf2, 0x35, 0x00, 0x72, 0x2d, 0xf7, 0x89,
170 0x80, 0x67, 0xb5, 0x93, 0x05, 0x5f, 0xdd, 0x42, 0xba, 0x16, 0x1a, 0xea,
171 0x15, 0xc6, 0xf0, 0xb8, 0x8c, 0xbc, 0xbf, 0x54, 0x9e, 0xf1, 0xc1, 0xb2,
172 0xb3, 0x8b, 0xb6, 0x26, 0x02, 0x30, 0xc4, 0x81, 0x02, 0x41, 0x00, 0xc0,
173 0x60, 0x62, 0x80, 0xe1, 0x22, 0x78, 0xf6, 0x9d, 0x83, 0x18, 0xeb, 0x72,
174 0x45, 0xd7, 0xc8, 0x01, 0x7f, 0xa9, 0xca, 0x8f, 0x7d, 0xd6, 0xb8, 0x31,
175 0x2b, 0x84, 0x7f, 0x62, 0xd9, 0xa9, 0x22, 0x17, 0x7d, 0x06, 0x35, 0x6c,
176 0xf3, 0xc1, 0x94, 0x17, 0x85, 0x5a, 0xaf, 0x9c, 0x5c, 0x09, 0x3c, 0xcf,
177 0x2f, 0x44, 0x9d, 0xb6, 0x52, 0x68, 0x5f, 0xf9, 0x59, 0xc8, 0x84, 0x2b,
178 0x39, 0x22, 0x8f, 0x02, 0x41, 0x00, 0xb2, 0x04, 0xe2, 0x0e, 0x56, 0xca,
179 0x03, 0x1a, 0xc0, 0xf9, 0x12, 0x92, 0xa5, 0x6b, 0x42, 0xb8, 0x1c, 0xda,
180 0x4d, 0x93, 0x9d, 0x5f, 0x6f, 0xfd, 0xc5, 0x58, 0xda, 0x55, 0x98, 0x74,
181 0xfc, 0x28, 0x17, 0x93, 0x1b, 0x75, 0x9f, 0x50, 0x03, 0x7f, 0x7e, 0xae,
182 0xc8, 0x95, 0x33, 0x75, 0x2c, 0xd6, 0xa4, 0x35, 0xb8, 0x06, 0x03, 0xba,
183 0x08, 0x59, 0x2b, 0x17, 0x02, 0xdc, 0x4c, 0x7a, 0x50, 0x01, 0x02, 0x41,
184 0x00, 0x9d, 0xdb, 0x39, 0x59, 0x09, 0xe4, 0x30, 0xa0, 0x24, 0xf5, 0xdb,
185 0x2f, 0xf0, 0x2f, 0xf1, 0x75, 0x74, 0x0d, 0x5e, 0xb5, 0x11, 0x73, 0xb0,
186 0x0a, 0xaa, 0x86, 0x4c, 0x0d, 0xff, 0x7e, 0x1d, 0xb4, 0x14, 0xd4, 0x09,
187 0x91, 0x33, 0x5a, 0xfd, 0xa0, 0x58, 0x80, 0x9b, 0xbe, 0x78, 0x2e, 0x69,
188 0x82, 0x15, 0x7c, 0x72, 0xf0, 0x7b, 0x18, 0x39, 0xff, 0x6e, 0xeb, 0xc6,
189 0x86, 0xf5, 0xb4, 0xc7, 0x6f, 0x02, 0x41, 0x00, 0x8d, 0x1a, 0x37, 0x0f,
190 0x76, 0xc4, 0x82, 0xfa, 0x5c, 0xc3, 0x79, 0x35, 0x3e, 0x70, 0x8a, 0xbf,
191 0x27, 0x49, 0xb0, 0x99, 0x63, 0xcb, 0x77, 0x5f, 0xa8, 0x82, 0x65, 0xf6,
192 0x03, 0x52, 0x51, 0xf1, 0xae, 0x2e, 0x05, 0xb3, 0xc6, 0xa4, 0x92, 0xd1,
193 0xce, 0x6c, 0x72, 0xfb, 0x21, 0xb3, 0x02, 0x87, 0xe4, 0xfd, 0x61, 0xca,
194 0x00, 0x42, 0x19, 0xf0, 0xda, 0x5a, 0x53, 0xe3, 0xb1, 0xc5, 0x15, 0xf3,
195 };
196
197 std::unique_ptr<crypto::ECPrivateKey> key =
198 crypto::ECPrivateKey::CreateFromPrivateKeyInfo(std::vector<uint8_t>(
199 std::begin(kPrivateKeyInfo), std::end(kPrivateKeyInfo)));
200 EXPECT_FALSE(key);
103 } 201 }
104 202
105 TEST(ECPrivateKeyUnitTest, BadPasswordTest) { 203 TEST(ECPrivateKeyUnitTest, BadPasswordTest) {
106 const std::string password1; 204 const std::string password1;
107 const std::string password2 = "test"; 205 const std::string password2 = "test";
108 206
109 std::unique_ptr<crypto::ECPrivateKey> keypair1( 207 std::unique_ptr<crypto::ECPrivateKey> keypair1(
110 crypto::ECPrivateKey::Create()); 208 crypto::ECPrivateKey::Create());
111 ASSERT_TRUE(keypair1.get()); 209 ASSERT_TRUE(keypair1.get());
112 210
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 393
296 std::unique_ptr<crypto::ECPrivateKey> keypair_openssl( 394 std::unique_ptr<crypto::ECPrivateKey> keypair_openssl(
297 crypto::ECPrivateKey::CreateFromEncryptedPrivateKeyInfo( 395 crypto::ECPrivateKey::CreateFromEncryptedPrivateKeyInfo(
298 "", 396 "",
299 std::vector<uint8_t>(std::begin(kOpenSSLKey), std::end(kOpenSSLKey)), 397 std::vector<uint8_t>(std::begin(kOpenSSLKey), std::end(kOpenSSLKey)),
300 std::vector<uint8_t>(std::begin(kOpenSSLPublicKey), 398 std::vector<uint8_t>(std::begin(kOpenSSLPublicKey),
301 std::end(kOpenSSLPublicKey)))); 399 std::end(kOpenSSLPublicKey))));
302 400
303 EXPECT_TRUE(keypair_openssl.get()); 401 EXPECT_TRUE(keypair_openssl.get());
304 } 402 }
OLDNEW
« no previous file with comments | « crypto/ec_private_key.cc ('k') | crypto/rsa_private_key.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698