| OLD | NEW |
| 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/protocol/me2me_host_authenticator_factory.h" | 5 #include "remoting/protocol/me2me_host_authenticator_factory.h" |
| 6 | 6 |
| 7 #include "base/base64.h" | 7 #include "base/base64.h" |
| 8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
| 9 #include "remoting/base/rsa_key_pair.h" | 9 #include "remoting/base/rsa_key_pair.h" |
| 10 #include "remoting/protocol/channel_authenticator.h" | 10 #include "remoting/protocol/channel_authenticator.h" |
| 11 #include "remoting/protocol/negotiating_host_authenticator.h" | 11 #include "remoting/protocol/negotiating_host_authenticator.h" |
| 12 #include "remoting/protocol/token_validator.h" |
| 12 #include "third_party/libjingle/source/talk/xmllite/xmlelement.h" | 13 #include "third_party/libjingle/source/talk/xmllite/xmlelement.h" |
| 13 | 14 |
| 14 namespace remoting { | 15 namespace remoting { |
| 15 namespace protocol { | 16 namespace protocol { |
| 16 | 17 |
| 17 namespace { | 18 namespace { |
| 18 | 19 |
| 19 // Authenticator that accepts one message and rejects connection after that. | 20 // Authenticator that accepts one message and rejects connection after that. |
| 20 class RejectingAuthenticator : public Authenticator { | 21 class RejectingAuthenticator : public Authenticator { |
| 21 public: | 22 public: |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 } | 80 } |
| 80 | 81 |
| 81 | 82 |
| 82 // static | 83 // static |
| 83 scoped_ptr<AuthenticatorFactory> | 84 scoped_ptr<AuthenticatorFactory> |
| 84 Me2MeHostAuthenticatorFactory::CreateWithThirdPartyAuth( | 85 Me2MeHostAuthenticatorFactory::CreateWithThirdPartyAuth( |
| 85 bool use_service_account, | 86 bool use_service_account, |
| 86 const std::string& host_owner, | 87 const std::string& host_owner, |
| 87 const std::string& local_cert, | 88 const std::string& local_cert, |
| 88 scoped_refptr<RsaKeyPair> key_pair, | 89 scoped_refptr<RsaKeyPair> key_pair, |
| 89 scoped_ptr<ThirdPartyHostAuthenticator::TokenValidatorFactory> | 90 scoped_ptr<TokenValidatorFactory> |
| 90 token_validator_factory) { | 91 token_validator_factory) { |
| 91 scoped_ptr<Me2MeHostAuthenticatorFactory> result( | 92 scoped_ptr<Me2MeHostAuthenticatorFactory> result( |
| 92 new Me2MeHostAuthenticatorFactory()); | 93 new Me2MeHostAuthenticatorFactory()); |
| 93 result->use_service_account_ = use_service_account; | 94 result->use_service_account_ = use_service_account; |
| 94 result->host_owner_ = host_owner; | 95 result->host_owner_ = host_owner; |
| 95 result->local_cert_ = local_cert; | 96 result->local_cert_ = local_cert; |
| 96 result->key_pair_ = key_pair; | 97 result->key_pair_ = key_pair; |
| 97 result->token_validator_factory_ = token_validator_factory.Pass(); | 98 result->token_validator_factory_ = token_validator_factory.Pass(); |
| 98 return scoped_ptr<AuthenticatorFactory>(result.Pass()); | 99 return scoped_ptr<AuthenticatorFactory>(result.Pass()); |
| 99 } | 100 } |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 153 return NegotiatingHostAuthenticator::CreateWithSharedSecret( | 154 return NegotiatingHostAuthenticator::CreateWithSharedSecret( |
| 154 local_cert_, key_pair_, shared_secret_hash_.value, | 155 local_cert_, key_pair_, shared_secret_hash_.value, |
| 155 shared_secret_hash_.hash_function, pairing_registry_); | 156 shared_secret_hash_.hash_function, pairing_registry_); |
| 156 } | 157 } |
| 157 | 158 |
| 158 return scoped_ptr<Authenticator>(new RejectingAuthenticator()); | 159 return scoped_ptr<Authenticator>(new RejectingAuthenticator()); |
| 159 } | 160 } |
| 160 | 161 |
| 161 } // namespace protocol | 162 } // namespace protocol |
| 162 } // namespace remoting | 163 } // namespace remoting |
| OLD | NEW |