Index: chrome/browser/chromeos/cros/onc_network_parser.h |
diff --git a/chrome/browser/chromeos/cros/onc_network_parser.h b/chrome/browser/chromeos/cros/onc_network_parser.h |
index 2c717aee21864a4ccabfbc97ec6b046ace2fde0d..c3d1b70c036c6a1999b9ea12f34272f224cf8a49 100644 |
--- a/chrome/browser/chromeos/cros/onc_network_parser.h |
+++ b/chrome/browser/chromeos/cros/onc_network_parser.h |
@@ -9,6 +9,7 @@ |
#include <string> |
#include "base/compiler_specific.h" // for OVERRIDE |
+#include "base/gtest_prod_util.h" |
#include "base/memory/scoped_ptr.h" |
#include "chrome/browser/chromeos/cros/network_parser.h" |
@@ -18,6 +19,11 @@ class ListValue; |
class Value; |
} |
+namespace net { |
+class X509Certificate; |
+typedef std::vector<scoped_refptr<X509Certificate> > CertificateList; |
+} |
+ |
namespace chromeos { |
// This is the network parser that parses the data from an Open Network |
@@ -35,16 +41,17 @@ class OncNetworkParser : public NetworkParser { |
// Returns the number of networks in the "NetworkConfigs" list. |
int GetNetworkConfigsSize() const; |
- // Returns the number of certificates in the "Certificates" list. |
- int GetCertificatesSize() const; |
- |
// Call to create the network by parsing network config in the nth position. |
// (0-based). Returns NULL if there's a parse error or if n is out of range. |
Network* ParseNetwork(int n); |
+ // Returns the number of certificates in the "Certificates" list. |
+ int GetCertificatesSize() const; |
+ |
// Call to parse and import the nth certificate in the certificate |
- // list. Returns false on failure. |
- bool ParseCertificate(int n); |
+ // list into the certificate store. Returns a NULL refptr if |
+ // there's a parse error or if n is out of range. |
+ scoped_refptr<net::X509Certificate> ParseCertificate(int n); |
virtual Network* CreateNetworkFromInfo(const std::string& service_path, |
const base::DictionaryValue& info) OVERRIDE; |
@@ -67,13 +74,21 @@ class OncNetworkParser : public NetworkParser { |
std::string GetGuidFromDictionary(const base::DictionaryValue& info); |
private: |
- bool ParseServerOrCaCertificate( |
+ FRIEND_TEST_ALL_PREFIXES(OncNetworkParserTest, TestAddClientCertificate); |
+ FRIEND_TEST_ALL_PREFIXES(OncNetworkParserTest, TestAddServerCertificate); |
+ FRIEND_TEST_ALL_PREFIXES(OncNetworkParserTest, TestAddAuthorityCertificate); |
+ scoped_refptr<net::X509Certificate> ParseServerOrCaCertificate( |
int cert_index, |
const std::string& cert_type, |
+ const std::string& guid, |
base::DictionaryValue* certificate); |
- bool ParseClientCertificate( |
+ scoped_refptr<net::X509Certificate> ParseClientCertificate( |
int cert_index, |
+ const std::string& guid, |
base::DictionaryValue* certificate); |
+ static void ListCertsWithLabel(const std::string& label, |
+ net::CertificateList* result); |
+ static bool DeleteCertAndKeyByLabel(const std::string& label); |
// Error message from the JSON parser, if applicable. |
std::string parse_error_; |