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

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, CopyTest) {
139 std::vector<uint8> input(
140 kTestPrivateKeyInfo, kTestPrivateKeyInfo + sizeof(kTestPrivateKeyInfo));
141
142 scoped_ptr<crypto::RSAPrivateKey> key(
143 crypto::RSAPrivateKey::CreateFromPrivateKeyInfo(input));
144
145 scoped_ptr<crypto::RSAPrivateKey> key_copy(key->Copy());
146 ASSERT_TRUE(key_copy.get());
147
148 std::vector<uint8> privkey_copy;
149 ASSERT_TRUE(key_copy->ExportPrivateKey(&privkey_copy));
150 ASSERT_EQ(input, privkey_copy);
151 }
152
50 153
51 // Verify that generated public keys look good. This test data was generated 154 // Verify that generated public keys look good. This test data was generated
52 // with the openssl command line tool. 155 // with the openssl command line tool.
53 TEST(RSAPrivateKeyUnitTest, PublicKeyTest) { 156 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[] = { 157 const uint8 expected_public_key_info[] = {
138 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 158 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a,
139 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 159 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
140 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 160 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81,
141 0x89, 0x02, 0x81, 0x81, 0x00, 0xb8, 0x7f, 0x2b, 161 0x89, 0x02, 0x81, 0x81, 0x00, 0xb8, 0x7f, 0x2b,
142 0x20, 0xdc, 0x7c, 0x9b, 0x0c, 0xdc, 0x51, 0x61, 162 0x20, 0xdc, 0x7c, 0x9b, 0x0c, 0xdc, 0x51, 0x61,
143 0x99, 0x0d, 0x36, 0x0f, 0xd4, 0x66, 0x88, 0x08, 163 0x99, 0x0d, 0x36, 0x0f, 0xd4, 0x66, 0x88, 0x08,
144 0x55, 0x84, 0xd5, 0x3a, 0xbf, 0x2b, 0xa4, 0x64, 164 0x55, 0x84, 0xd5, 0x3a, 0xbf, 0x2b, 0xa4, 0x64,
145 0x85, 0x7b, 0x0c, 0x04, 0x13, 0x3f, 0x8d, 0xf4, 165 0x85, 0x7b, 0x0c, 0x04, 0x13, 0x3f, 0x8d, 0xf4,
146 0xbc, 0x38, 0x0d, 0x49, 0xfe, 0x6b, 0xc4, 0x5a, 166 0xbc, 0x38, 0x0d, 0x49, 0xfe, 0x6b, 0xc4, 0x5a,
147 0xb0, 0x40, 0x53, 0x3a, 0xd7, 0x66, 0x09, 0x0f, 167 0xb0, 0x40, 0x53, 0x3a, 0xd7, 0x66, 0x09, 0x0f,
148 0x9e, 0x36, 0x74, 0x30, 0xda, 0x8a, 0x31, 0x4f, 168 0x9e, 0x36, 0x74, 0x30, 0xda, 0x8a, 0x31, 0x4f,
149 0x1f, 0x14, 0x50, 0xd7, 0xc7, 0x20, 0x94, 0x17, 169 0x1f, 0x14, 0x50, 0xd7, 0xc7, 0x20, 0x94, 0x17,
150 0xde, 0x4e, 0xb9, 0x57, 0x5e, 0x7e, 0x0a, 0xe5, 170 0xde, 0x4e, 0xb9, 0x57, 0x5e, 0x7e, 0x0a, 0xe5,
151 0xb2, 0x65, 0x7a, 0x89, 0x4e, 0xb6, 0x47, 0xff, 171 0xb2, 0x65, 0x7a, 0x89, 0x4e, 0xb6, 0x47, 0xff,
152 0x1c, 0xbd, 0xb7, 0x38, 0x13, 0xaf, 0x47, 0x85, 172 0x1c, 0xbd, 0xb7, 0x38, 0x13, 0xaf, 0x47, 0x85,
153 0x84, 0x32, 0x33, 0xf3, 0x17, 0x49, 0xbf, 0xe9, 173 0x84, 0x32, 0x33, 0xf3, 0x17, 0x49, 0xbf, 0xe9,
154 0x96, 0xd0, 0xd6, 0x14, 0x6f, 0x13, 0x8d, 0xc5, 174 0x96, 0xd0, 0xd6, 0x14, 0x6f, 0x13, 0x8d, 0xc5,
155 0xfc, 0x2c, 0x72, 0xba, 0xac, 0xea, 0x7e, 0x18, 175 0xfc, 0x2c, 0x72, 0xba, 0xac, 0xea, 0x7e, 0x18,
156 0x53, 0x56, 0xa6, 0x83, 0xa2, 0xce, 0x93, 0x93, 176 0x53, 0x56, 0xa6, 0x83, 0xa2, 0xce, 0x93, 0x93,
157 0xe7, 0x1f, 0x0f, 0xe6, 0x0f, 0x02, 0x03, 0x01, 177 0xe7, 0x1f, 0x0f, 0xe6, 0x0f, 0x02, 0x03, 0x01,
158 0x00, 0x01 178 0x00, 0x01
159 }; 179 };
160 180
161 std::vector<uint8> input; 181 std::vector<uint8> input(
162 input.resize(sizeof(private_key_info)); 182 kTestPrivateKeyInfo, kTestPrivateKeyInfo + sizeof(kTestPrivateKeyInfo));
163 memcpy(&input.front(), private_key_info, sizeof(private_key_info));
164 183
165 scoped_ptr<crypto::RSAPrivateKey> key( 184 scoped_ptr<crypto::RSAPrivateKey> key(
166 crypto::RSAPrivateKey::CreateFromPrivateKeyInfo(input)); 185 crypto::RSAPrivateKey::CreateFromPrivateKeyInfo(input));
167 ASSERT_TRUE(key.get()); 186 ASSERT_TRUE(key.get());
168 187
169 std::vector<uint8> output; 188 std::vector<uint8> output;
170 ASSERT_TRUE(key->ExportPublicKey(&output)); 189 ASSERT_TRUE(key->ExportPublicKey(&output));
171 190
172 ASSERT_TRUE( 191 ASSERT_TRUE(
173 memcmp(expected_public_key_info, &output.front(), output.size()) == 0); 192 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)); 396 ASSERT_TRUE(keypair1->ExportPrivateKey(&output1));
378 ASSERT_TRUE(keypair2->ExportPrivateKey(&output2)); 397 ASSERT_TRUE(keypair2->ExportPrivateKey(&output2));
379 398
380 ASSERT_EQ(input1.size(), output1.size()); 399 ASSERT_EQ(input1.size(), output1.size());
381 ASSERT_EQ(input2.size(), output2.size()); 400 ASSERT_EQ(input2.size(), output2.size());
382 ASSERT_TRUE(0 == memcmp(&output1.front(), &input1.front(), 401 ASSERT_TRUE(0 == memcmp(&output1.front(), &input1.front(),
383 input1.size())); 402 input1.size()));
384 ASSERT_TRUE(0 == memcmp(&output2.front(), &input2.front(), 403 ASSERT_TRUE(0 == memcmp(&output2.front(), &input2.front(),
385 input2.size())); 404 input2.size()));
386 } 405 }
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