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

Side by Side Diff: remoting/host/pin_hash.cc

Issue 86913002: Make base::Base64Encode() return void (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: One more chromeos-specific fix. Created 7 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
« no previous file with comments | « remoting/base/rsa_key_pair.cc ('k') | remoting/host/token_validator_factory_impl.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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "remoting/host/pin_hash.h" 5 #include "remoting/host/pin_hash.h"
6 6
7 #include "base/base64.h" 7 #include "base/base64.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "remoting/protocol/authentication_method.h" 9 #include "remoting/protocol/authentication_method.h"
10 #include "remoting/protocol/me2me_host_authenticator_factory.h" 10 #include "remoting/protocol/me2me_host_authenticator_factory.h"
11 11
12 namespace remoting { 12 namespace remoting {
13 13
14 std::string MakeHostPinHash(const std::string& host_id, 14 std::string MakeHostPinHash(const std::string& host_id,
15 const std::string& pin) { 15 const std::string& pin) {
16 std::string hash = protocol::AuthenticationMethod::ApplyHashFunction( 16 std::string hash = protocol::AuthenticationMethod::ApplyHashFunction(
17 protocol::AuthenticationMethod::HMAC_SHA256, host_id, pin); 17 protocol::AuthenticationMethod::HMAC_SHA256, host_id, pin);
18 std::string hash_base64; 18 std::string hash_base64;
19 if (!base::Base64Encode(hash, &hash_base64)) { 19 base::Base64Encode(hash, &hash_base64);
20 LOG(FATAL) << "Base64Encode failed";
21 }
22 return "hmac:" + hash_base64; 20 return "hmac:" + hash_base64;
23 } 21 }
24 22
25 bool VerifyHostPinHash(const std::string& hash, 23 bool VerifyHostPinHash(const std::string& hash,
26 const std::string& host_id, 24 const std::string& host_id,
27 const std::string& pin) { 25 const std::string& pin) {
28 remoting::protocol::SharedSecretHash hash_parsed; 26 remoting::protocol::SharedSecretHash hash_parsed;
29 if (!hash_parsed.Parse(hash)) { 27 if (!hash_parsed.Parse(hash)) {
30 LOG(FATAL) << "Invalid hash."; 28 LOG(FATAL) << "Invalid hash.";
31 return false; 29 return false;
32 } 30 }
33 std::string hash_calculated = 31 std::string hash_calculated =
34 remoting::protocol::AuthenticationMethod::ApplyHashFunction( 32 remoting::protocol::AuthenticationMethod::ApplyHashFunction(
35 hash_parsed.hash_function, host_id, pin); 33 hash_parsed.hash_function, host_id, pin);
36 return hash_calculated == hash_parsed.value; 34 return hash_calculated == hash_parsed.value;
37 } 35 }
38 36
39 } // namespace remoting 37 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/base/rsa_key_pair.cc ('k') | remoting/host/token_validator_factory_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698