summaryrefslogtreecommitdiffstats
path: root/chromeos/network/network_cert_migrator.h
diff options
context:
space:
mode:
authorpneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-06 17:15:48 +0000
committerpneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-06 17:15:48 +0000
commit18e8d54f5e70ed8576fdb97aaed5de00ad663e72 (patch)
treef3b3710eadd94552bf4ef30471bd2a9aaa3366da /chromeos/network/network_cert_migrator.h
parentd8f1fa0dbe1507b1330c19315ddcfb7c6ef68e70 (diff)
downloadchromium_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.h50
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_