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

Side by Side Diff: extensions/browser/api/cast_channel/cast_auth_util_unittest.cc

Issue 627573002: Enable passing cast channel certificate authority keys. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Code review changes. Created 6 years, 2 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
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "extensions/browser/api/cast_channel/cast_auth_util.h"
6
7 #include <string>
8
9 #include "base/base64.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11
12 namespace extensions {
13
14 namespace core_api {
15
16 namespace cast_channel {
17
18 namespace {
19
20 static const net::SHA256HashValue kFingerprintValid1 = {{0x52,
21 0x9D,
22 0x9C,
23 0xD6,
24 0x7F,
25 0xE5,
26 0xEB,
27 0x69,
28 0x8E,
29 0x70,
30 0xDD,
31 0x26,
32 0xD7,
33 0xD8,
34 0xF1,
35 0x26,
36 0x59,
37 0xF1,
38 0xE6,
39 0xE5,
40 0x23,
41 0x48,
42 0xBF,
43 0x6A,
44 0x5C,
45 0xF7,
46 0x16,
47 0xE1,
48 0x3F,
49 0x41,
50 0x0E,
51 0x73}};
52
53 static const net::SHA256HashValue kFingerprintValid2 = {{0xA2,
54 0x48,
55 0xC2,
56 0xE8,
57 0x54,
58 0xE6,
59 0x56,
60 0xA5,
61 0x6D,
62 0xE8,
63 0x23,
64 0x1F,
65 0x1E,
66 0xE1,
67 0x75,
68 0x6F,
69 0xDB,
70 0xE4,
71 0x07,
72 0xF9,
73 0xFE,
74 0xD4,
75 0x65,
76 0x0D,
77 0x60,
78 0xCC,
79 0x5A,
80 0xCB,
81 0x65,
82 0x11,
83 0xC7,
84 0x20}};
85
86 static const net::SHA256HashValue kFingerprintInvalid = {{0x00,
87 0x9D,
88 0x9C,
89 0xD6,
90 0x7F,
91 0xE5,
92 0xEB,
93 0x69,
94 0x8E,
95 0x70,
96 0xDD,
97 0x26,
98 0xD7,
99 0xD8,
100 0xF1,
101 0x26,
102 0x59,
103 0xF1,
104 0xE6,
105 0xE5,
106 0x23,
107 0x48,
108 0xBF,
109 0x6A,
110 0x5C,
111 0xF7,
112 0x16,
113 0xE1,
114 0x3F,
115 0x41,
116 0x0E,
117 0x73}};
118
119 } // namespace
120
121 class CastChannelAuthorityKeysTest : public testing::Test {
122 public:
123 CastChannelAuthorityKeysTest() {}
124 virtual ~CastChannelAuthorityKeysTest() {}
125
126 protected:
127 void ExpectKeysLoaded();
128 AuthorityKeysStore authority_keys_store_;
129 };
130
131 void CastChannelAuthorityKeysTest::ExpectKeysLoaded() {
132 const base::StringPiece* key = authority_keys_store_.GetDefaultICAPublicKey();
133 EXPECT_NE(static_cast<base::StringPiece*>(NULL), key);
134
135 key =
136 authority_keys_store_.GetICAPublicKeyFromFingerprint(kFingerprintValid1);
137 EXPECT_NE(static_cast<base::StringPiece*>(NULL), key);
138
139 key =
140 authority_keys_store_.GetICAPublicKeyFromFingerprint(kFingerprintInvalid);
141 EXPECT_EQ(static_cast<base::StringPiece*>(NULL), key);
142 }
143
144 TEST_F(CastChannelAuthorityKeysTest, TestDefaultKeys) {
145 ExpectKeysLoaded();
146 }
147
148 TEST_F(CastChannelAuthorityKeysTest, TestInvalidProtobuf) {
149 std::string keys = "test";
150 EXPECT_EQ(authority_keys_store_.Load(keys), false);
151
152 const base::StringPiece* key = authority_keys_store_.GetDefaultICAPublicKey();
153 EXPECT_EQ(static_cast<base::StringPiece*>(NULL), key);
154 }
155
156 TEST_F(CastChannelAuthorityKeysTest, TestValidProtobuf) {
157 std::string keys =
158 "CrMCCiBSnZzWf+XraY5w3SbX2PEmWfHm5SNIv2pc9xbhP0EOcxKOAjCCAQoCggEBALwigL"
159 "2A9johADuudl41fz3DZFxVlIY0LwWHKM33aYwXs1CnuIL638dDLdZ+q6BvtxNygKRHFcEg"
160 "mVDN7BRiCVukmM3SQbY2Tv/oLjIwSoGoQqNsmzNuyrL1U2bgJ1OGGoUepzk/SneO+1RmZv"
161 "tYVMBeOcf1UAYL4IrUzuFqVR+LFwDmaaMn5gglaTwSnY0FLNYuojHetFJQ1iBJ3nGg+a0g"
162 "QBLx3SXr1ea4NvTWj3/KQ9zXEFvmP1GKhbPz//YDLcsjT5ytGOeTBYysUpr3TOmZer5ufk"
163 "0K48YcqZP6OqWRXRy9ZuvMYNyGdMrP+JIcmH1X+mFHnquAt+RIgCqSxRsCAwEAAQqzAgog"
164 "okjC6FTmVqVt6CMfHuF1b9vkB/n+1GUNYMxay2URxyASjgIwggEKAoIBAQCwDl4HOt+kX2"
165 "j3Icdk27Z27+6Lk/j2G4jhk7cX8BUeflJVdzwCjXtKbNO91sGccsizFc8RwfVGxNUgR/sw"
166 "9ORhDGjwXqs3jpvhvIHDcIp41oM0MpwZYuvknO3jZGxBHZzSi0hMI5CVs+dS6gVXzGCzuh"
167 "TkugA55EZVdM5ajnpnI9poCvrEhB60xaGianMfbsguL5qeqLEO/Yemj009SwXVNVp0TbyO"
168 "gkSW9LWVYE6l3yc9QVwHo7Q1WrOe8gUkys0xWg0mTNTT/VDhNOlMgVgwssd63YGJptQ6OI"
169 "QDtzSedz//eAdbmcGyHzVWbjo8DCXhV/aKfknAzIMRNeeRbS5lAgMBAAE=";
170
171 std::string decoded_keys;
172 EXPECT_EQ(base::Base64Decode(keys, &decoded_keys), true);
173 EXPECT_EQ(authority_keys_store_.Load(decoded_keys), true);
174
175 ExpectKeysLoaded();
176
177 const base::StringPiece* key =
178 authority_keys_store_.GetICAPublicKeyFromFingerprint(kFingerprintValid2);
179 EXPECT_NE(static_cast<base::StringPiece*>(NULL), key);
180 }
181
182 } // namespace cast_channel
183
184 } // namespace core_api
185
186 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698