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

Side by Side Diff: crypto/scoped_test_system_nss_key_slot.h

Issue 424523002: Enable system NSS key slot. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix compilation of profile_io_data on !OS_CHROMEOS. Created 6 years, 4 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
« no previous file with comments | « crypto/scoped_test_nss_db.h ('k') | crypto/scoped_test_system_nss_key_slot.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 2014 The Chromium Authors. All rights reserved. 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 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 CRYPTO_SCOPED_TEST_SYSTEM_NSS_KEY_SLOT_H_ 5 #ifndef CRYPTO_SCOPED_TEST_SYSTEM_NSS_KEY_SLOT_H_
6 #define CRYPTO_SCOPED_TEST_SYSTEM_NSS_KEY_SLOT_H_ 6 #define CRYPTO_SCOPED_TEST_SYSTEM_NSS_KEY_SLOT_H_
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "crypto/crypto_export.h" 10 #include "crypto/crypto_export.h"
11 11
12 // Forward declaration, from <pk11pub.h>
13 typedef struct PK11SlotInfoStr PK11SlotInfo;
14
12 namespace crypto { 15 namespace crypto {
13 16
14 class ScopedTestNSSDB; 17 class ScopedTestNSSDB;
15 18
16 // Opens a persistent NSS software database in a temporary directory and sets 19 // Opens a persistent NSS software database in a temporary directory and sets
17 // the test system slot to the opened database. This helper should be created in 20 // the test system slot to the opened database. This helper should be created in
18 // tests where no system token is provided by the Chaps module and before 21 // tests to fake the system token that is usually provided by the Chaps module.
19 // InitializeTPMTokenAndSystemSlot is called. Then the opened test database will 22 // |slot| is exposed through |GetSystemNSSKeySlot| and |IsTPMTokenReady| will
20 // be used and the initialization continues as if Chaps had provided this test 23 // return true.
21 // database. In particular, the DB will be exposed by |GetSystemNSSKeySlot| and 24 // |InitializeTPMTokenAndSystemSlot|, which triggers the TPM initialization,
22 // |IsTPMTokenReady| will return true. 25 // does not have to be called if this helper is used.
23 // At most one instance of this helper must be used at a time. 26 // At most one instance of this helper must be used at a time.
24 class CRYPTO_EXPORT_PRIVATE ScopedTestSystemNSSKeySlot { 27 class CRYPTO_EXPORT_PRIVATE ScopedTestSystemNSSKeySlot {
25 public: 28 public:
26 explicit ScopedTestSystemNSSKeySlot(); 29 explicit ScopedTestSystemNSSKeySlot();
27 ~ScopedTestSystemNSSKeySlot(); 30 ~ScopedTestSystemNSSKeySlot();
28 31
29 bool ConstructedSuccessfully() const; 32 bool ConstructedSuccessfully() const;
33 PK11SlotInfo* slot() const;
30 34
31 private: 35 private:
32 scoped_ptr<ScopedTestNSSDB> test_db_; 36 scoped_ptr<ScopedTestNSSDB> test_db_;
33 37
34 DISALLOW_COPY_AND_ASSIGN(ScopedTestSystemNSSKeySlot); 38 DISALLOW_COPY_AND_ASSIGN(ScopedTestSystemNSSKeySlot);
35 }; 39 };
36 40
37 } // namespace crypto 41 } // namespace crypto
38 42
39 #endif // CRYPTO_SCOPED_TEST_SYSTEM_NSS_KEY_SLOT_H_ 43 #endif // CRYPTO_SCOPED_TEST_SYSTEM_NSS_KEY_SLOT_H_
OLDNEW
« no previous file with comments | « crypto/scoped_test_nss_db.h ('k') | crypto/scoped_test_system_nss_key_slot.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698