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 |