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

Side by Side Diff: tpm.h

Issue 3116014: Add method to get random bytes from the TPM. (Closed) Base URL: http://src.chromium.org/git/tpm_init.git
Patch Set: Change int to size_t. Created 10 years, 3 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
« no previous file with comments | « no previous file | tpm.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) 2009-2010 The Chromium OS Authors. All rights reserved. 1 // Copyright (c) 2009-2010 The Chromium OS 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 // Tpm - class for handling init TPM initialization for Chrome OS 5 // Tpm - class for handling init TPM initialization for Chrome OS
6 6
7 #include <base/lock.h> 7 #include <base/lock.h>
8 #include <base/logging.h> 8 #include <base/logging.h>
9 #include <base/scoped_ptr.h> 9 #include <base/scoped_ptr.h>
10 #include <chromeos/utility.h> 10 #include <chromeos/utility.h>
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 // currently being taken (such as on a separate thread). 61 // currently being taken (such as on a separate thread).
62 bool IsOwned() const { return is_owned_; } 62 bool IsOwned() const { return is_owned_; }
63 63
64 // Returns whether or not the SRK is available 64 // Returns whether or not the SRK is available
65 bool IsSrkAvailable() const { return is_srk_available_; } 65 bool IsSrkAvailable() const { return is_srk_available_; }
66 66
67 // Runs the TPM initialization sequence. This may take a long time due to the 67 // Runs the TPM initialization sequence. This may take a long time due to the
68 // call to Tspi_TPM_TakeOwnership. 68 // call to Tspi_TPM_TakeOwnership.
69 bool InitializeTpm(); 69 bool InitializeTpm();
70 70
71 // Gets random bytes from the TPM
72 //
73 // Parameters
74 // length - The number of bytes to get
75 // data (OUT) - The random data from the TPM
76 bool GetRandomData(size_t length, chromeos::Blob* data);
77
71 private: 78 private:
72 // Attempts to connect to tcsd 79 // Attempts to connect to tcsd
73 // 80 //
74 // Parameters 81 // Parameters
75 // context_handle (OUT) - The context handle to the session on success 82 // context_handle (OUT) - The context handle to the session on success
76 bool OpenAndConnectTpm(TSS_HCONTEXT* context_handle); 83 bool OpenAndConnectTpm(TSS_HCONTEXT* context_handle);
77 84
78 // Returns the maximum simultaneously-loaded RSA key count for the TPM 85 // Returns the maximum simultaneously-loaded RSA key count for the TPM
79 // specified by the context handle 86 // specified by the context handle
80 // 87 //
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 210
204 // Indicates if the SRK is available 211 // Indicates if the SRK is available
205 bool is_srk_available_; 212 bool is_srk_available_;
206 213
207 DISALLOW_COPY_AND_ASSIGN(Tpm); 214 DISALLOW_COPY_AND_ASSIGN(Tpm);
208 }; 215 };
209 216
210 } // namespace tpm_init 217 } // namespace tpm_init
211 218
212 #endif // TPM_INIT_TPM_H_ 219 #endif // TPM_INIT_TPM_H_
OLDNEW
« no previous file with comments | « no previous file | tpm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698