1 // Copyright 2017 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef NET_CERT_CERT_VERIFY_PROC_BUILTIN_H_ 6 #define NET_CERT_CERT_VERIFY_PROC_BUILTIN_H_ 7 8 #include <memory> 9 10 #include "base/memory/scoped_refptr.h" 11 #include "base/time/time.h" 12 #include "net/base/net_export.h" 13 #include "net/cert/cert_verify_proc.h" 14 15 namespace net { 16 17 class CertNetFetcher; 18 class CRLSet; 19 class CTPolicyEnforcer; 20 class CTVerifier; 21 class SystemTrustStore; 22 23 // TODO(crbug.com/649017): This is not how other cert_verify_proc_*.h are 24 // implemented -- they expose the type in the header. Use a consistent style 25 // here too. 26 NET_EXPORT scoped_refptr<CertVerifyProc> CreateCertVerifyProcBuiltin( 27 scoped_refptr<CertNetFetcher> net_fetcher, 28 scoped_refptr<CRLSet> crl_set, 29 std::unique_ptr<CTVerifier> ct_verifier, 30 scoped_refptr<CTPolicyEnforcer> ct_policy_enforcer, 31 std::unique_ptr<SystemTrustStore> system_trust_store, 32 const CertVerifyProc::InstanceParams& instance_params); 33 34 // Returns the time limit used by CertVerifyProcBuiltin. Intended for test use. 35 NET_EXPORT_PRIVATE base::TimeDelta 36 GetCertVerifyProcBuiltinTimeLimitForTesting(); 37 38 } // namespace net 39 40 #endif // NET_CERT_CERT_VERIFY_PROC_BUILTIN_H_ 41