diff options
author | pneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-06 17:15:48 +0000 |
---|---|---|
committer | pneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-06 17:15:48 +0000 |
commit | 18e8d54f5e70ed8576fdb97aaed5de00ad663e72 (patch) | |
tree | f3b3710eadd94552bf4ef30471bd2a9aaa3366da /chromeos/network/network_cert_migrator.h | |
parent | d8f1fa0dbe1507b1330c19315ddcfb7c6ef68e70 (diff) | |
download | chromium_src-18e8d54f5e70ed8576fdb97aaed5de00ad663e72.zip chromium_src-18e8d54f5e70ed8576fdb97aaed5de00ad663e72.tar.gz chromium_src-18e8d54f5e70ed8576fdb97aaed5de00ad663e72.tar.bz2 |
Add migration from CaCert NSS nicknames to PEM.
BUG=263044
Review URL: https://chromiumcodereview.appspot.com/20087002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215914 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/network/network_cert_migrator.h')
-rw-r--r-- | chromeos/network/network_cert_migrator.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/chromeos/network/network_cert_migrator.h b/chromeos/network/network_cert_migrator.h new file mode 100644 index 0000000..05b69e6 --- /dev/null +++ b/chromeos/network/network_cert_migrator.h @@ -0,0 +1,50 @@ +// Copyright 2013 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 CHROMEOS_NETWORK_NETWORK_CERT_MIGRATOR_H_ +#define CHROMEOS_NETWORK_NETWORK_CERT_MIGRATOR_H_ + +#include "base/basictypes.h" +#include "base/memory/weak_ptr.h" +#include "chromeos/cert_loader.h" +#include "chromeos/chromeos_export.h" +#include "chromeos/network/network_state_handler_observer.h" + +namespace chromeos { + +class NetworkStateHandler; + +// Migrates network configurations from deprecated CaCertNSS properties to +// CaCertPEM. +class CHROMEOS_EXPORT NetworkCertMigrator : public NetworkStateHandlerObserver, + public CertLoader::Observer { + public: + virtual ~NetworkCertMigrator(); + + private: + friend class NetworkHandler; + friend class NetworkCertMigratorTest; + class MigrationTask; + + NetworkCertMigrator(); + void Init(NetworkStateHandler* network_state_handler); + + // NetworkStateHandlerObserver overrides + virtual void NetworkListChanged() OVERRIDE; + + // CertLoader::Observer overrides + virtual void OnCertificatesLoaded(const net::CertificateList& cert_list, + bool initial_load) OVERRIDE; + + // Unowned associated NetworkStateHandler* (global or test instance). + NetworkStateHandler* network_state_handler_; + + base::WeakPtrFactory<NetworkCertMigrator> weak_ptr_factory_; + + DISALLOW_COPY_AND_ASSIGN(NetworkCertMigrator); +}; + +} // namespace chromeos + +#endif // CHROMEOS_NETWORK_NETWORK_CERT_MIGRATOR_H_ |