Chromium Code Reviews| Index: components/ownership/owner_key_util.h |
| diff --git a/chrome/browser/chromeos/settings/owner_key_util.h b/components/ownership/owner_key_util.h |
| similarity index 51% |
| rename from chrome/browser/chromeos/settings/owner_key_util.h |
| rename to components/ownership/owner_key_util.h |
| index 4c3abd3e6a9384e32f645d83ef82b9b901b823b9..4d4869edec169d34f5212bebd78998d8d7d4ff91 100644 |
| --- a/chrome/browser/chromeos/settings/owner_key_util.h |
| +++ b/components/ownership/owner_key_util.h |
| @@ -1,36 +1,35 @@ |
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#ifndef CHROME_BROWSER_CHROMEOS_SETTINGS_OWNER_KEY_UTIL_H_ |
| -#define CHROME_BROWSER_CHROMEOS_SETTINGS_OWNER_KEY_UTIL_H_ |
| +#ifndef COMPONENTS_OWNERSHIP_OWNER_KEY_UTIL_H_ |
|
erikwright (departed)
2014/08/28 18:39:57
Please add class comments for each of the classes
ygorshenin1
2014/08/28 18:59:05
Done.
|
| +#define COMPONENTS_OWNERSHIP_OWNER_KEY_UTIL_H_ |
| #include <string> |
| #include <vector> |
| #include "base/basictypes.h" |
| -#include "base/compiler_specific.h" |
| -#include "base/files/file_path.h" |
| -#include "base/gtest_prod_util.h" |
| +#include "base/macros.h" |
| #include "base/memory/ref_counted.h" |
| #include "base/memory/scoped_ptr.h" |
| #include "base/stl_util.h" |
| -#include "crypto/rsa_private_key.h" |
| -#include "net/cert/x509_util_nss.h" |
| +#include "components/ownership/ownership_export.h" |
| -namespace base { |
| -class FilePath; |
| -} |
| +#if defined(USE_NSS) |
| +struct PK11SlotInfoStr; |
| +typedef struct PK11SlotInfoStr PK11SlotInfo; |
| +#endif // defined(USE_NSS) |
| namespace crypto { |
| class RSAPrivateKey; |
| } |
| -namespace chromeos { |
| +namespace ownership { |
| class OwnerKeyUtilTest; |
| -class PublicKey : public base::RefCountedThreadSafe<PublicKey> { |
| +class OWNERSHIP_EXPORT PublicKey |
| + : public base::RefCountedThreadSafe<PublicKey> { |
| public: |
| PublicKey(); |
| @@ -53,7 +52,8 @@ class PublicKey : public base::RefCountedThreadSafe<PublicKey> { |
| DISALLOW_COPY_AND_ASSIGN(PublicKey); |
| }; |
| -class PrivateKey : public base::RefCountedThreadSafe<PrivateKey> { |
| +class OWNERSHIP_EXPORT PrivateKey |
| + : public base::RefCountedThreadSafe<PrivateKey> { |
| public: |
| explicit PrivateKey(crypto::RSAPrivateKey* key); |
| @@ -69,57 +69,36 @@ class PrivateKey : public base::RefCountedThreadSafe<PrivateKey> { |
| DISALLOW_COPY_AND_ASSIGN(PrivateKey); |
| }; |
| -class OwnerKeyUtil : public base::RefCountedThreadSafe<OwnerKeyUtil> { |
| +class OWNERSHIP_EXPORT OwnerKeyUtil |
| + : public base::RefCountedThreadSafe<OwnerKeyUtil> { |
| public: |
| - // Creates an OwnerKeyUtil instance. |
| - static OwnerKeyUtil* Create(); |
| - |
| - // Attempts to read the public key from the file system. |
| - // Upon success, returns true and populates |output|. False on failure. |
| + // Attempts to read the public key from the file system. Upon success, |
| + // returns true and populates |output|. False on failure. |
| virtual bool ImportPublicKey(std::vector<uint8>* output) = 0; |
| +#if defined(USE_NSS) |
| // Looks for the private key associated with |key| in the |slot| |
| // and returns it if it can be found. Returns NULL otherwise. |
| // Caller takes ownership. |
| virtual crypto::RSAPrivateKey* FindPrivateKeyInSlot( |
| const std::vector<uint8>& key, |
| PK11SlotInfo* slot) = 0; |
| +#endif // defined(USE_NSS) |
| // Checks whether the public key is present in the file system. |
| virtual bool IsPublicKeyPresent() = 0; |
| protected: |
| OwnerKeyUtil(); |
|
erikwright (departed)
2014/08/28 18:39:57
This is not required, since you will remove DISALL
ygorshenin1
2014/08/28 18:59:05
Done.
|
| + |
| virtual ~OwnerKeyUtil(); |
|
erikwright (departed)
2014/08/28 18:39:57
This can be inline defined. Although, in this case
ygorshenin1
2014/08/28 18:59:05
Done.
|
| private: |
| friend class base::RefCountedThreadSafe<OwnerKeyUtil>; |
| - FRIEND_TEST_ALL_PREFIXES(OwnerKeyUtilTest, ExportImportPublicKey); |
| -}; |
| - |
| -// Implementation of OwnerKeyUtil that is used in production code. |
| -class OwnerKeyUtilImpl : public OwnerKeyUtil { |
| - public: |
| - explicit OwnerKeyUtilImpl(const base::FilePath& public_key_file); |
| - |
| - // OwnerKeyUtil: |
| - virtual bool ImportPublicKey(std::vector<uint8>* output) OVERRIDE; |
| - virtual crypto::RSAPrivateKey* FindPrivateKeyInSlot( |
| - const std::vector<uint8>& key, |
| - PK11SlotInfo* slot) OVERRIDE; |
| - virtual bool IsPublicKeyPresent() OVERRIDE; |
| - |
| - protected: |
| - virtual ~OwnerKeyUtilImpl(); |
| - |
| - private: |
| - // The file that holds the public key. |
| - base::FilePath key_file_; |
| - |
| - DISALLOW_COPY_AND_ASSIGN(OwnerKeyUtilImpl); |
| + DISALLOW_COPY_AND_ASSIGN(OwnerKeyUtil); |
|
erikwright (departed)
2014/08/28 18:39:57
This is not required, because this class is pure-v
ygorshenin1
2014/08/28 18:59:05
Done.
|
| }; |
| -} // namespace chromeos |
| +} // namespace ownership |
| -#endif // CHROME_BROWSER_CHROMEOS_SETTINGS_OWNER_KEY_UTIL_H_ |
| +#endif // COMPONENTS_OWNERSHIP_OWNER_KEY_UTIL_H_ |