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

Side by Side Diff: crypto/rsa_private_key_unittest.cc

Issue 8727014: Implement RSAPrivateKey::Copy() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: - Created 9 years 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 | Annotate | Revision Log
« no previous file with comments | « crypto/rsa_private_key_openssl.cc ('k') | crypto/rsa_private_key_win.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 "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 namespace {
11
12 const uint8 kTestPrivateKeyInfo[] = {
13 0x30, 0x82, 0x02, 0x78, 0x02, 0x01, 0x00, 0x30,
14 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
15 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82,
16 0x02, 0x62, 0x30, 0x82, 0x02, 0x5e, 0x02, 0x01,
17 0x00, 0x02, 0x81, 0x81, 0x00, 0xb8, 0x7f, 0x2b,
18 0x20, 0xdc, 0x7c, 0x9b, 0x0c, 0xdc, 0x51, 0x61,
19 0x99, 0x0d, 0x36, 0x0f, 0xd4, 0x66, 0x88, 0x08,
20 0x55, 0x84, 0xd5, 0x3a, 0xbf, 0x2b, 0xa4, 0x64,
21 0x85, 0x7b, 0x0c, 0x04, 0x13, 0x3f, 0x8d, 0xf4,
22 0xbc, 0x38, 0x0d, 0x49, 0xfe, 0x6b, 0xc4, 0x5a,
23 0xb0, 0x40, 0x53, 0x3a, 0xd7, 0x66, 0x09, 0x0f,
24 0x9e, 0x36, 0x74, 0x30, 0xda, 0x8a, 0x31, 0x4f,
25 0x1f, 0x14, 0x50, 0xd7, 0xc7, 0x20, 0x94, 0x17,
26 0xde, 0x4e, 0xb9, 0x57, 0x5e, 0x7e, 0x0a, 0xe5,
27 0xb2, 0x65, 0x7a, 0x89, 0x4e, 0xb6, 0x47, 0xff,
28 0x1c, 0xbd, 0xb7, 0x38, 0x13, 0xaf, 0x47, 0x85,
29 0x84, 0x32, 0x33, 0xf3, 0x17, 0x49, 0xbf, 0xe9,
30 0x96, 0xd0, 0xd6, 0x14, 0x6f, 0x13, 0x8d, 0xc5,
31 0xfc, 0x2c, 0x72, 0xba, 0xac, 0xea, 0x7e, 0x18,
32 0x53, 0x56, 0xa6, 0x83, 0xa2, 0xce, 0x93, 0x93,
33 0xe7, 0x1f, 0x0f, 0xe6, 0x0f, 0x02, 0x03, 0x01,
34 0x00, 0x01, 0x02, 0x81, 0x80, 0x03, 0x61, 0x89,
35 0x37, 0xcb, 0xf2, 0x98, 0xa0, 0xce, 0xb4, 0xcb,
36 0x16, 0x13, 0xf0, 0xe6, 0xaf, 0x5c, 0xc5, 0xa7,
37 0x69, 0x71, 0xca, 0xba, 0x8d, 0xe0, 0x4d, 0xdd,
38 0xed, 0xb8, 0x48, 0x8b, 0x16, 0x93, 0x36, 0x95,
39 0xc2, 0x91, 0x40, 0x65, 0x17, 0xbd, 0x7f, 0xd6,
40 0xad, 0x9e, 0x30, 0x28, 0x46, 0xe4, 0x3e, 0xcc,
41 0x43, 0x78, 0xf9, 0xfe, 0x1f, 0x33, 0x23, 0x1e,
42 0x31, 0x12, 0x9d, 0x3c, 0xa7, 0x08, 0x82, 0x7b,
43 0x7d, 0x25, 0x4e, 0x5e, 0x19, 0xa8, 0x9b, 0xed,
44 0x86, 0xb2, 0xcb, 0x3c, 0xfe, 0x4e, 0xa1, 0xfa,
45 0x62, 0x87, 0x3a, 0x17, 0xf7, 0x60, 0xec, 0x38,
46 0x29, 0xe8, 0x4f, 0x34, 0x9f, 0x76, 0x9d, 0xee,
47 0xa3, 0xf6, 0x85, 0x6b, 0x84, 0x43, 0xc9, 0x1e,
48 0x01, 0xff, 0xfd, 0xd0, 0x29, 0x4c, 0xfa, 0x8e,
49 0x57, 0x0c, 0xc0, 0x71, 0xa5, 0xbb, 0x88, 0x46,
50 0x29, 0x5c, 0xc0, 0x4f, 0x01, 0x02, 0x41, 0x00,
51 0xf5, 0x83, 0xa4, 0x64, 0x4a, 0xf2, 0xdd, 0x8c,
52 0x2c, 0xed, 0xa8, 0xd5, 0x60, 0x5a, 0xe4, 0xc7,
53 0xcc, 0x61, 0xcd, 0x38, 0x42, 0x20, 0xd3, 0x82,
54 0x18, 0xf2, 0x35, 0x00, 0x72, 0x2d, 0xf7, 0x89,
55 0x80, 0x67, 0xb5, 0x93, 0x05, 0x5f, 0xdd, 0x42,
56 0xba, 0x16, 0x1a, 0xea, 0x15, 0xc6, 0xf0, 0xb8,
57 0x8c, 0xbc, 0xbf, 0x54, 0x9e, 0xf1, 0xc1, 0xb2,
58 0xb3, 0x8b, 0xb6, 0x26, 0x02, 0x30, 0xc4, 0x81,
59 0x02, 0x41, 0x00, 0xc0, 0x60, 0x62, 0x80, 0xe1,
60 0x22, 0x78, 0xf6, 0x9d, 0x83, 0x18, 0xeb, 0x72,
61 0x45, 0xd7, 0xc8, 0x01, 0x7f, 0xa9, 0xca, 0x8f,
62 0x7d, 0xd6, 0xb8, 0x31, 0x2b, 0x84, 0x7f, 0x62,
63 0xd9, 0xa9, 0x22, 0x17, 0x7d, 0x06, 0x35, 0x6c,
64 0xf3, 0xc1, 0x94, 0x17, 0x85, 0x5a, 0xaf, 0x9c,
65 0x5c, 0x09, 0x3c, 0xcf, 0x2f, 0x44, 0x9d, 0xb6,
66 0x52, 0x68, 0x5f, 0xf9, 0x59, 0xc8, 0x84, 0x2b,
67 0x39, 0x22, 0x8f, 0x02, 0x41, 0x00, 0xb2, 0x04,
68 0xe2, 0x0e, 0x56, 0xca, 0x03, 0x1a, 0xc0, 0xf9,
69 0x12, 0x92, 0xa5, 0x6b, 0x42, 0xb8, 0x1c, 0xda,
70 0x4d, 0x93, 0x9d, 0x5f, 0x6f, 0xfd, 0xc5, 0x58,
71 0xda, 0x55, 0x98, 0x74, 0xfc, 0x28, 0x17, 0x93,
72 0x1b, 0x75, 0x9f, 0x50, 0x03, 0x7f, 0x7e, 0xae,
73 0xc8, 0x95, 0x33, 0x75, 0x2c, 0xd6, 0xa4, 0x35,
74 0xb8, 0x06, 0x03, 0xba, 0x08, 0x59, 0x2b, 0x17,
75 0x02, 0xdc, 0x4c, 0x7a, 0x50, 0x01, 0x02, 0x41,
76 0x00, 0x9d, 0xdb, 0x39, 0x59, 0x09, 0xe4, 0x30,
77 0xa0, 0x24, 0xf5, 0xdb, 0x2f, 0xf0, 0x2f, 0xf1,
78 0x75, 0x74, 0x0d, 0x5e, 0xb5, 0x11, 0x73, 0xb0,
79 0x0a, 0xaa, 0x86, 0x4c, 0x0d, 0xff, 0x7e, 0x1d,
80 0xb4, 0x14, 0xd4, 0x09, 0x91, 0x33, 0x5a, 0xfd,
81 0xa0, 0x58, 0x80, 0x9b, 0xbe, 0x78, 0x2e, 0x69,
82 0x82, 0x15, 0x7c, 0x72, 0xf0, 0x7b, 0x18, 0x39,
83 0xff, 0x6e, 0xeb, 0xc6, 0x86, 0xf5, 0xb4, 0xc7,
84 0x6f, 0x02, 0x41, 0x00, 0x8d, 0x1a, 0x37, 0x0f,
85 0x76, 0xc4, 0x82, 0xfa, 0x5c, 0xc3, 0x79, 0x35,
86 0x3e, 0x70, 0x8a, 0xbf, 0x27, 0x49, 0xb0, 0x99,
87 0x63, 0xcb, 0x77, 0x5f, 0xa8, 0x82, 0x65, 0xf6,
88 0x03, 0x52, 0x51, 0xf1, 0xae, 0x2e, 0x05, 0xb3,
89 0xc6, 0xa4, 0x92, 0xd1, 0xce, 0x6c, 0x72, 0xfb,
90 0x21, 0xb3, 0x02, 0x87, 0xe4, 0xfd, 0x61, 0xca,
91 0x00, 0x42, 0x19, 0xf0, 0xda, 0x5a, 0x53, 0xe3,
92 0xb1, 0xc5, 0x15, 0xf3
93 };
94
95 } // namespace
96
10 // Generate random private keys with two different sizes. Reimport, then 97 // Generate random private keys with two different sizes. Reimport, then
11 // export them again. We should get back the same exact bytes. 98 // export them again. We should get back the same exact bytes.
12 TEST(RSAPrivateKeyUnitTest, InitRandomTest) { 99 TEST(RSAPrivateKeyUnitTest, InitRandomTest) {
13 scoped_ptr<crypto::RSAPrivateKey> keypair1( 100 scoped_ptr<crypto::RSAPrivateKey> keypair1(
14 crypto::RSAPrivateKey::Create(1024)); 101 crypto::RSAPrivateKey::Create(1024));
15 scoped_ptr<crypto::RSAPrivateKey> keypair2( 102 scoped_ptr<crypto::RSAPrivateKey> keypair2(
16 crypto::RSAPrivateKey::Create(2048)); 103 crypto::RSAPrivateKey::Create(2048));
17 ASSERT_TRUE(keypair1.get()); 104 ASSERT_TRUE(keypair1.get());
18 ASSERT_TRUE(keypair2.get()); 105 ASSERT_TRUE(keypair2.get());
19 106
(...skipping 20 matching lines...) Expand all
40 ASSERT_TRUE(keypair4->ExportPrivateKey(&privkey4)); 127 ASSERT_TRUE(keypair4->ExportPrivateKey(&privkey4));
41 128
42 ASSERT_EQ(privkey1.size(), privkey3.size()); 129 ASSERT_EQ(privkey1.size(), privkey3.size());
43 ASSERT_EQ(privkey2.size(), privkey4.size()); 130 ASSERT_EQ(privkey2.size(), privkey4.size());
44 ASSERT_TRUE(0 == memcmp(&privkey1.front(), &privkey3.front(), 131 ASSERT_TRUE(0 == memcmp(&privkey1.front(), &privkey3.front(),
45 privkey1.size())); 132 privkey1.size()));
46 ASSERT_TRUE(0 == memcmp(&privkey2.front(), &privkey4.front(), 133 ASSERT_TRUE(0 == memcmp(&privkey2.front(), &privkey4.front(),
47 privkey2.size())); 134 privkey2.size()));
48 } 135 }
49 136
137 // Test Copy() method.
138 TEST(RSAPrivateKeyUnitTest, Copy) {
wtc 2011/12/01 22:40:39 Nit: Copy => CopyTest
Sergey Ulanov 2011/12/01 23:05:55 Done.
139 std::vector<uint8> input;
140 input.resize(sizeof(kTestPrivateKeyInfo));
141 memcpy(&input.front(), kTestPrivateKeyInfo, sizeof(kTestPrivateKeyInfo));
wtc 2011/12/01 22:40:39 Nit: does this work? std::vector<uint8> input(kT
Sergey Ulanov 2011/12/01 23:05:55 Fixed here and in PublicKeyTest.
142
143 scoped_ptr<crypto::RSAPrivateKey> key(
144 crypto::RSAPrivateKey::CreateFromPrivateKeyInfo(input));
wtc 2011/12/01 22:40:39 You can also just generate a random key and export
Sergey Ulanov 2011/12/01 23:05:55 Yes, but generating a key pair takes long time (up
145
146 scoped_ptr<crypto::RSAPrivateKey> key_copy(key->Copy());
147 ASSERT_TRUE(key_copy.get());
148
149 std::vector<uint8> privkey_copy;
150 ASSERT_TRUE(key_copy->ExportPrivateKey(&privkey_copy));
151 ASSERT_EQ(input, privkey_copy);
152 }
153
50 154
51 // Verify that generated public keys look good. This test data was generated 155 // Verify that generated public keys look good. This test data was generated
52 // with the openssl command line tool. 156 // with the openssl command line tool.
53 TEST(RSAPrivateKeyUnitTest, PublicKeyTest) { 157 TEST(RSAPrivateKeyUnitTest, PublicKeyTest) {
54 const uint8 private_key_info[] = {
55 0x30, 0x82, 0x02, 0x78, 0x02, 0x01, 0x00, 0x30,
56 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
57 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82,
58 0x02, 0x62, 0x30, 0x82, 0x02, 0x5e, 0x02, 0x01,
59 0x00, 0x02, 0x81, 0x81, 0x00, 0xb8, 0x7f, 0x2b,
60 0x20, 0xdc, 0x7c, 0x9b, 0x0c, 0xdc, 0x51, 0x61,
61 0x99, 0x0d, 0x36, 0x0f, 0xd4, 0x66, 0x88, 0x08,
62 0x55, 0x84, 0xd5, 0x3a, 0xbf, 0x2b, 0xa4, 0x64,
63 0x85, 0x7b, 0x0c, 0x04, 0x13, 0x3f, 0x8d, 0xf4,
64 0xbc, 0x38, 0x0d, 0x49, 0xfe, 0x6b, 0xc4, 0x5a,
65 0xb0, 0x40, 0x53, 0x3a, 0xd7, 0x66, 0x09, 0x0f,
66 0x9e, 0x36, 0x74, 0x30, 0xda, 0x8a, 0x31, 0x4f,
67 0x1f, 0x14, 0x50, 0xd7, 0xc7, 0x20, 0x94, 0x17,
68 0xde, 0x4e, 0xb9, 0x57, 0x5e, 0x7e, 0x0a, 0xe5,
69 0xb2, 0x65, 0x7a, 0x89, 0x4e, 0xb6, 0x47, 0xff,
70 0x1c, 0xbd, 0xb7, 0x38, 0x13, 0xaf, 0x47, 0x85,
71 0x84, 0x32, 0x33, 0xf3, 0x17, 0x49, 0xbf, 0xe9,
72 0x96, 0xd0, 0xd6, 0x14, 0x6f, 0x13, 0x8d, 0xc5,
73 0xfc, 0x2c, 0x72, 0xba, 0xac, 0xea, 0x7e, 0x18,
74 0x53, 0x56, 0xa6, 0x83, 0xa2, 0xce, 0x93, 0x93,
75 0xe7, 0x1f, 0x0f, 0xe6, 0x0f, 0x02, 0x03, 0x01,
76 0x00, 0x01, 0x02, 0x81, 0x80, 0x03, 0x61, 0x89,
77 0x37, 0xcb, 0xf2, 0x98, 0xa0, 0xce, 0xb4, 0xcb,
78 0x16, 0x13, 0xf0, 0xe6, 0xaf, 0x5c, 0xc5, 0xa7,
79 0x69, 0x71, 0xca, 0xba, 0x8d, 0xe0, 0x4d, 0xdd,
80 0xed, 0xb8, 0x48, 0x8b, 0x16, 0x93, 0x36, 0x95,
81 0xc2, 0x91, 0x40, 0x65, 0x17, 0xbd, 0x7f, 0xd6,
82 0xad, 0x9e, 0x30, 0x28, 0x46, 0xe4, 0x3e, 0xcc,
83 0x43, 0x78, 0xf9, 0xfe, 0x1f, 0x33, 0x23, 0x1e,
84 0x31, 0x12, 0x9d, 0x3c, 0xa7, 0x08, 0x82, 0x7b,
85 0x7d, 0x25, 0x4e, 0x5e, 0x19, 0xa8, 0x9b, 0xed,
86 0x86, 0xb2, 0xcb, 0x3c, 0xfe, 0x4e, 0xa1, 0xfa,
87 0x62, 0x87, 0x3a, 0x17, 0xf7, 0x60, 0xec, 0x38,
88 0x29, 0xe8, 0x4f, 0x34, 0x9f, 0x76, 0x9d, 0xee,
89 0xa3, 0xf6, 0x85, 0x6b, 0x84, 0x43, 0xc9, 0x1e,
90 0x01, 0xff, 0xfd, 0xd0, 0x29, 0x4c, 0xfa, 0x8e,
91 0x57, 0x0c, 0xc0, 0x71, 0xa5, 0xbb, 0x88, 0x46,
92 0x29, 0x5c, 0xc0, 0x4f, 0x01, 0x02, 0x41, 0x00,
93 0xf5, 0x83, 0xa4, 0x64, 0x4a, 0xf2, 0xdd, 0x8c,
94 0x2c, 0xed, 0xa8, 0xd5, 0x60, 0x5a, 0xe4, 0xc7,
95 0xcc, 0x61, 0xcd, 0x38, 0x42, 0x20, 0xd3, 0x82,
96 0x18, 0xf2, 0x35, 0x00, 0x72, 0x2d, 0xf7, 0x89,
97 0x80, 0x67, 0xb5, 0x93, 0x05, 0x5f, 0xdd, 0x42,
98 0xba, 0x16, 0x1a, 0xea, 0x15, 0xc6, 0xf0, 0xb8,
99 0x8c, 0xbc, 0xbf, 0x54, 0x9e, 0xf1, 0xc1, 0xb2,
100 0xb3, 0x8b, 0xb6, 0x26, 0x02, 0x30, 0xc4, 0x81,
101 0x02, 0x41, 0x00, 0xc0, 0x60, 0x62, 0x80, 0xe1,
102 0x22, 0x78, 0xf6, 0x9d, 0x83, 0x18, 0xeb, 0x72,
103 0x45, 0xd7, 0xc8, 0x01, 0x7f, 0xa9, 0xca, 0x8f,
104 0x7d, 0xd6, 0xb8, 0x31, 0x2b, 0x84, 0x7f, 0x62,
105 0xd9, 0xa9, 0x22, 0x17, 0x7d, 0x06, 0x35, 0x6c,
106 0xf3, 0xc1, 0x94, 0x17, 0x85, 0x5a, 0xaf, 0x9c,
107 0x5c, 0x09, 0x3c, 0xcf, 0x2f, 0x44, 0x9d, 0xb6,
108 0x52, 0x68, 0x5f, 0xf9, 0x59, 0xc8, 0x84, 0x2b,
109 0x39, 0x22, 0x8f, 0x02, 0x41, 0x00, 0xb2, 0x04,
110 0xe2, 0x0e, 0x56, 0xca, 0x03, 0x1a, 0xc0, 0xf9,
111 0x12, 0x92, 0xa5, 0x6b, 0x42, 0xb8, 0x1c, 0xda,
112 0x4d, 0x93, 0x9d, 0x5f, 0x6f, 0xfd, 0xc5, 0x58,
113 0xda, 0x55, 0x98, 0x74, 0xfc, 0x28, 0x17, 0x93,
114 0x1b, 0x75, 0x9f, 0x50, 0x03, 0x7f, 0x7e, 0xae,
115 0xc8, 0x95, 0x33, 0x75, 0x2c, 0xd6, 0xa4, 0x35,
116 0xb8, 0x06, 0x03, 0xba, 0x08, 0x59, 0x2b, 0x17,
117 0x02, 0xdc, 0x4c, 0x7a, 0x50, 0x01, 0x02, 0x41,
118 0x00, 0x9d, 0xdb, 0x39, 0x59, 0x09, 0xe4, 0x30,
119 0xa0, 0x24, 0xf5, 0xdb, 0x2f, 0xf0, 0x2f, 0xf1,
120 0x75, 0x74, 0x0d, 0x5e, 0xb5, 0x11, 0x73, 0xb0,
121 0x0a, 0xaa, 0x86, 0x4c, 0x0d, 0xff, 0x7e, 0x1d,
122 0xb4, 0x14, 0xd4, 0x09, 0x91, 0x33, 0x5a, 0xfd,
123 0xa0, 0x58, 0x80, 0x9b, 0xbe, 0x78, 0x2e, 0x69,
124 0x82, 0x15, 0x7c, 0x72, 0xf0, 0x7b, 0x18, 0x39,
125 0xff, 0x6e, 0xeb, 0xc6, 0x86, 0xf5, 0xb4, 0xc7,
126 0x6f, 0x02, 0x41, 0x00, 0x8d, 0x1a, 0x37, 0x0f,
127 0x76, 0xc4, 0x82, 0xfa, 0x5c, 0xc3, 0x79, 0x35,
128 0x3e, 0x70, 0x8a, 0xbf, 0x27, 0x49, 0xb0, 0x99,
129 0x63, 0xcb, 0x77, 0x5f, 0xa8, 0x82, 0x65, 0xf6,
130 0x03, 0x52, 0x51, 0xf1, 0xae, 0x2e, 0x05, 0xb3,
131 0xc6, 0xa4, 0x92, 0xd1, 0xce, 0x6c, 0x72, 0xfb,
132 0x21, 0xb3, 0x02, 0x87, 0xe4, 0xfd, 0x61, 0xca,
133 0x00, 0x42, 0x19, 0xf0, 0xda, 0x5a, 0x53, 0xe3,
134 0xb1, 0xc5, 0x15, 0xf3
135 };
136
137 const uint8 expected_public_key_info[] = { 158 const uint8 expected_public_key_info[] = {
138 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 159 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a,
139 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 160 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
140 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 161 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81,
141 0x89, 0x02, 0x81, 0x81, 0x00, 0xb8, 0x7f, 0x2b, 162 0x89, 0x02, 0x81, 0x81, 0x00, 0xb8, 0x7f, 0x2b,
142 0x20, 0xdc, 0x7c, 0x9b, 0x0c, 0xdc, 0x51, 0x61, 163 0x20, 0xdc, 0x7c, 0x9b, 0x0c, 0xdc, 0x51, 0x61,
143 0x99, 0x0d, 0x36, 0x0f, 0xd4, 0x66, 0x88, 0x08, 164 0x99, 0x0d, 0x36, 0x0f, 0xd4, 0x66, 0x88, 0x08,
144 0x55, 0x84, 0xd5, 0x3a, 0xbf, 0x2b, 0xa4, 0x64, 165 0x55, 0x84, 0xd5, 0x3a, 0xbf, 0x2b, 0xa4, 0x64,
145 0x85, 0x7b, 0x0c, 0x04, 0x13, 0x3f, 0x8d, 0xf4, 166 0x85, 0x7b, 0x0c, 0x04, 0x13, 0x3f, 0x8d, 0xf4,
146 0xbc, 0x38, 0x0d, 0x49, 0xfe, 0x6b, 0xc4, 0x5a, 167 0xbc, 0x38, 0x0d, 0x49, 0xfe, 0x6b, 0xc4, 0x5a,
147 0xb0, 0x40, 0x53, 0x3a, 0xd7, 0x66, 0x09, 0x0f, 168 0xb0, 0x40, 0x53, 0x3a, 0xd7, 0x66, 0x09, 0x0f,
148 0x9e, 0x36, 0x74, 0x30, 0xda, 0x8a, 0x31, 0x4f, 169 0x9e, 0x36, 0x74, 0x30, 0xda, 0x8a, 0x31, 0x4f,
149 0x1f, 0x14, 0x50, 0xd7, 0xc7, 0x20, 0x94, 0x17, 170 0x1f, 0x14, 0x50, 0xd7, 0xc7, 0x20, 0x94, 0x17,
150 0xde, 0x4e, 0xb9, 0x57, 0x5e, 0x7e, 0x0a, 0xe5, 171 0xde, 0x4e, 0xb9, 0x57, 0x5e, 0x7e, 0x0a, 0xe5,
151 0xb2, 0x65, 0x7a, 0x89, 0x4e, 0xb6, 0x47, 0xff, 172 0xb2, 0x65, 0x7a, 0x89, 0x4e, 0xb6, 0x47, 0xff,
152 0x1c, 0xbd, 0xb7, 0x38, 0x13, 0xaf, 0x47, 0x85, 173 0x1c, 0xbd, 0xb7, 0x38, 0x13, 0xaf, 0x47, 0x85,
153 0x84, 0x32, 0x33, 0xf3, 0x17, 0x49, 0xbf, 0xe9, 174 0x84, 0x32, 0x33, 0xf3, 0x17, 0x49, 0xbf, 0xe9,
154 0x96, 0xd0, 0xd6, 0x14, 0x6f, 0x13, 0x8d, 0xc5, 175 0x96, 0xd0, 0xd6, 0x14, 0x6f, 0x13, 0x8d, 0xc5,
155 0xfc, 0x2c, 0x72, 0xba, 0xac, 0xea, 0x7e, 0x18, 176 0xfc, 0x2c, 0x72, 0xba, 0xac, 0xea, 0x7e, 0x18,
156 0x53, 0x56, 0xa6, 0x83, 0xa2, 0xce, 0x93, 0x93, 177 0x53, 0x56, 0xa6, 0x83, 0xa2, 0xce, 0x93, 0x93,
157 0xe7, 0x1f, 0x0f, 0xe6, 0x0f, 0x02, 0x03, 0x01, 178 0xe7, 0x1f, 0x0f, 0xe6, 0x0f, 0x02, 0x03, 0x01,
158 0x00, 0x01 179 0x00, 0x01
159 }; 180 };
160 181
161 std::vector<uint8> input; 182 std::vector<uint8> input;
162 input.resize(sizeof(private_key_info)); 183 input.resize(sizeof(kTestPrivateKeyInfo));
163 memcpy(&input.front(), private_key_info, sizeof(private_key_info)); 184 memcpy(&input.front(), kTestPrivateKeyInfo, sizeof(kTestPrivateKeyInfo));
164 185
165 scoped_ptr<crypto::RSAPrivateKey> key( 186 scoped_ptr<crypto::RSAPrivateKey> key(
166 crypto::RSAPrivateKey::CreateFromPrivateKeyInfo(input)); 187 crypto::RSAPrivateKey::CreateFromPrivateKeyInfo(input));
167 ASSERT_TRUE(key.get()); 188 ASSERT_TRUE(key.get());
168 189
169 std::vector<uint8> output; 190 std::vector<uint8> output;
170 ASSERT_TRUE(key->ExportPublicKey(&output)); 191 ASSERT_TRUE(key->ExportPublicKey(&output));
171 192
172 ASSERT_TRUE( 193 ASSERT_TRUE(
173 memcmp(expected_public_key_info, &output.front(), output.size()) == 0); 194 memcmp(expected_public_key_info, &output.front(), output.size()) == 0);
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 ASSERT_TRUE(keypair1->ExportPrivateKey(&output1)); 398 ASSERT_TRUE(keypair1->ExportPrivateKey(&output1));
378 ASSERT_TRUE(keypair2->ExportPrivateKey(&output2)); 399 ASSERT_TRUE(keypair2->ExportPrivateKey(&output2));
379 400
380 ASSERT_EQ(input1.size(), output1.size()); 401 ASSERT_EQ(input1.size(), output1.size());
381 ASSERT_EQ(input2.size(), output2.size()); 402 ASSERT_EQ(input2.size(), output2.size());
382 ASSERT_TRUE(0 == memcmp(&output1.front(), &input1.front(), 403 ASSERT_TRUE(0 == memcmp(&output1.front(), &input1.front(),
383 input1.size())); 404 input1.size()));
384 ASSERT_TRUE(0 == memcmp(&output2.front(), &input2.front(), 405 ASSERT_TRUE(0 == memcmp(&output2.front(), &input2.front(),
385 input2.size())); 406 input2.size()));
386 } 407 }
OLDNEW
« no previous file with comments | « crypto/rsa_private_key_openssl.cc ('k') | crypto/rsa_private_key_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698