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

Side by Side Diff: chrome/browser/chromeos/attestation/platform_verification_flow.h

Issue 27044004: Added multi-profile support for attestation on chromeos. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #ifndef CHROME_BROWSER_CHROMEOS_ATTESTATION_PLATFORM_VERIFICATION_FLOW_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_ATTESTATION_PLATFORM_VERIFICATION_FLOW_H_
6 #define CHROME_BROWSER_CHROMEOS_ATTESTATION_PLATFORM_VERIFICATION_FLOW_H_ 6 #define CHROME_BROWSER_CHROMEOS_ATTESTATION_PLATFORM_VERIFICATION_FLOW_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 13 matching lines...) Expand all
24 } 24 }
25 25
26 namespace user_prefs { 26 namespace user_prefs {
27 class PrefRegistrySyncable; 27 class PrefRegistrySyncable;
28 } 28 }
29 29
30 namespace chromeos { 30 namespace chromeos {
31 31
32 class CryptohomeClient; 32 class CryptohomeClient;
33 class UserManager; 33 class UserManager;
34 class User;
34 35
35 namespace system { 36 namespace system {
36 class StatisticsProvider; 37 class StatisticsProvider;
37 } 38 }
38 39
39 namespace attestation { 40 namespace attestation {
40 41
41 class AttestationFlow; 42 class AttestationFlow;
42 43
43 // This class allows platform verification for the content protection use case. 44 // This class allows platform verification for the content protection use case.
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 // operation should proceed, this method invokes a certificate request. 168 // operation should proceed, this method invokes a certificate request.
168 void OnConsentResponse(content::WebContents* web_contents, 169 void OnConsentResponse(content::WebContents* web_contents,
169 const std::string& service_id, 170 const std::string& service_id,
170 const std::string& challenge, 171 const std::string& challenge,
171 const ChallengeCallback& callback, 172 const ChallengeCallback& callback,
172 ConsentType consent_type, 173 ConsentType consent_type,
173 ConsentResponse consent_response); 174 ConsentResponse consent_response);
174 175
175 // A callback called when an attestation certificate request operation 176 // A callback called when an attestation certificate request operation
176 // completes. |service_id|, |challenge|, and |callback| are the same as in 177 // completes. |service_id|, |challenge|, and |callback| are the same as in
177 // ChallengePlatformKey. |operation_success| is true iff the certificate 178 // ChallengePlatformKey. |user_id| identifies the user for which the
179 // certificate was requested. |operation_success| is true iff the certificate
178 // request operation succeeded. |certificate| holds the certificate for the 180 // request operation succeeded. |certificate| holds the certificate for the
179 // platform key on success. If the certificate request was successful, this 181 // platform key on success. If the certificate request was successful, this
180 // method invokes a request to sign the challenge. 182 // method invokes a request to sign the challenge.
181 void OnCertificateReady(const std::string& service_id, 183 void OnCertificateReady(const std::string& user_id,
184 const std::string& service_id,
182 const std::string& challenge, 185 const std::string& challenge,
183 const ChallengeCallback& callback, 186 const ChallengeCallback& callback,
184 bool operation_success, 187 bool operation_success,
185 const std::string& certificate); 188 const std::string& certificate);
186 189
187 // A callback called when a challenge signing request has completed. The 190 // A callback called when a challenge signing request has completed. The
188 // |certificate| is the platform certificate for the key which signed the 191 // |certificate| is the platform certificate for the key which signed the
189 // |challenge|. |callback| is the same as in ChallengePlatformKey. 192 // |challenge|. |callback| is the same as in ChallengePlatformKey.
190 // |operation_success| is true iff the challenge signing operation was 193 // |operation_success| is true iff the challenge signing operation was
191 // successful. If it was successful, |response_data| holds the challenge 194 // successful. If it was successful, |response_data| holds the challenge
192 // response and the method will invoke |callback|. 195 // response and the method will invoke |callback|.
193 void OnChallengeReady(const std::string& certificate, 196 void OnChallengeReady(const std::string& certificate,
194 const std::string& challenge, 197 const std::string& challenge,
195 const ChallengeCallback& callback, 198 const ChallengeCallback& callback,
196 bool operation_success, 199 bool operation_success,
197 const std::string& response_data); 200 const std::string& response_data);
198 201
199 // Gets prefs associated with the given |web_contents|. If prefs have been 202 // Gets prefs associated with the given |web_contents|. If prefs have been
200 // set explicitly using set_testing_prefs(), then these are always returned. 203 // set explicitly using set_testing_prefs(), then these are always returned.
201 // If no prefs are associated with |web_contents| then NULL is returned. 204 // If no prefs are associated with |web_contents| then NULL is returned.
202 PrefService* GetPrefs(content::WebContents* web_contents); 205 PrefService* GetPrefs(content::WebContents* web_contents);
203 206
204 // Gets the URL associated with the given |web_contents|. If a URL as been 207 // Gets the URL associated with the given |web_contents|. If a URL as been
205 // set explicitly using set_testing_url(), then this value is always returned. 208 // set explicitly using set_testing_url(), then this value is always returned.
206 const GURL& GetURL(content::WebContents* web_contents); 209 const GURL& GetURL(content::WebContents* web_contents);
207 210
211 // Gets the user associated with the given |web_contents|. NULL may be
212 // returned. If |web_contents| is NULL (e.g. during testing), then the
213 // current active user will be returned.
214 User* GetUser(content::WebContents* web_contents);
215
208 // Checks whether policy or profile settings associated with |web_contents| 216 // Checks whether policy or profile settings associated with |web_contents|
209 // have attestation for content protection explicitly disabled. 217 // have attestation for content protection explicitly disabled.
210 bool IsAttestationEnabled(content::WebContents* web_contents); 218 bool IsAttestationEnabled(content::WebContents* web_contents);
211 219
212 // Checks whether this is the first use on this device for the user associated 220 // Checks whether this is the first use on this device for the user associated
213 // with |web_contents|. 221 // with |web_contents|.
214 bool IsFirstUse(content::WebContents* web_contents); 222 bool IsFirstUse(content::WebContents* web_contents);
215 223
216 // Checks if settings indicate that consent is required for the web origin 224 // Checks if settings indicate that consent is required for the web origin
217 // represented by |web_contents| because the user requested to be prompted. 225 // represented by |web_contents| because the user requested to be prompted.
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 // invalidate the weak pointers before any other members are destroyed. 260 // invalidate the weak pointers before any other members are destroyed.
253 base::WeakPtrFactory<PlatformVerificationFlow> weak_factory_; 261 base::WeakPtrFactory<PlatformVerificationFlow> weak_factory_;
254 262
255 DISALLOW_COPY_AND_ASSIGN(PlatformVerificationFlow); 263 DISALLOW_COPY_AND_ASSIGN(PlatformVerificationFlow);
256 }; 264 };
257 265
258 } // namespace attestation 266 } // namespace attestation
259 } // namespace chromeos 267 } // namespace chromeos
260 268
261 #endif // CHROME_BROWSER_CHROMEOS_ATTESTATION_PLATFORM_VERIFICATION_FLOW_H_ 269 #endif // CHROME_BROWSER_CHROMEOS_ATTESTATION_PLATFORM_VERIFICATION_FLOW_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698