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

Unified Diff: net/base/cert_verifier.cc

Issue 9584041: Create stubs for system certificate validation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Exclude CertVerifyProcNSS for non-NSS-only systems, for now Created 8 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: net/base/cert_verifier.cc
diff --git a/net/base/cert_verifier.cc b/net/base/cert_verifier.cc
index 2dd683ce62d0389b37959676c8527bc1c28bc1b4..fcec195b7147d469f62e8d6b01f010f0c36498bc 100644
--- a/net/base/cert_verifier.cc
+++ b/net/base/cert_verifier.cc
@@ -1,15 +1,46 @@
-// Copyright (c) 2012 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.
-
-#include "net/base/cert_verifier.h"
-
-#include "net/base/multi_threaded_cert_verifier.h"
-
-namespace net {
-
-CertVerifier* CertVerifier::CreateDefaultCertVerifier() {
- return new MultiThreadedCertVerifier();
-}
-
-} // namespace net
+// Copyright (c) 2012 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.
+
+#include "net/base/cert_verifier.h"
+
+#include "build/build_config.h"
wtc 2012/03/06 23:10:14 The "build/build_config.h" file can be listed in t
+#include "base/logging.h"
+#include "net/base/multi_threaded_cert_verifier.h"
+
+#if defined(USE_NSS)
+#include "net/base/cert_verify_proc_nss.h"
+#elif defined(USE_OPENSSL)
+#include "net/base/cert_verify_proc_openssl.h"
+#elif defined(OS_MACOSX)
+#include "net/base/cert_verify_proc_mac.h"
+#elif defined(OS_WIN)
+#include "net/base/cert_verify_proc_win.h"
+#endif
+
+namespace net {
+
+namespace {
+
+MultiThreadedCertVerifier::VerifyProc* GetSystemVerifyProc() {
+#if defined(USE_NSS)
+ return new CertVerifyProcNSS();
+#elif defined(USE_OPENSSL)
+ return new CertVerifyProcOpenSSL();
+#elif defined(OS_MACOSX)
+ return new CertVerifyProcMac();
+#elif defined(OS_WIN)
+ return new CertVerifyProcWin();
+#else
+ NOTIMPLEMENTED();
+ return NULL;
+#endif
+}
+
+} // namespace
+
+CertVerifier* CertVerifier::CreateDefaultCertVerifier() {
+ return new MultiThreadedCertVerifier(GetSystemVerifyProc());
+}
+
+} // namespace net

Powered by Google App Engine
This is Rietveld 408576698