/// <summary>
 /// Reset the certificate cache and other fields to the constructor state.
 /// </summary>
 ///
 public void reset()
 {
     certificateCache_.reset();
     fixedCertificateCache_.clear();
     keyTimestamps_.clear();
     requiresVerification_ = true;
     config_ = new BoostInfoParser();
     refreshManager_ = new ConfigPolicyManager.TrustAnchorRefreshManager ();
 }
        /// <summary>
        /// Create a new ConfigPolicyManager which will act on the rules specified in
        /// the configuration and download unknown certificates when necessary.
        /// </summary>
        ///
        /// <param name="configFileName">separately call load().</param>
        /// <param name="certificateCache">CertificateCache.</param>
        /// <param name="searchDepth"></param>
        /// <param name="graceInterval">public key and the validation time. If omitted, use a default value.</param>
        /// <param name="keyTimestampTtl">value.</param>
        /// <param name="maxTrackedKeys"></param>
        public ConfigPolicyManager(String configFileName,
				CertificateCache certificateCache, int searchDepth,
				double graceInterval, double keyTimestampTtl, int maxTrackedKeys)
        {
            this.certificateCache_ = new CertificateCache();
                    this.maxDepth_ = 5;
                    this.keyGraceInterval_ = 3000;
                    this.keyTimestampTtl_ = 3600000;
                    this.maxTrackedKeys_ = 1000;
                    this.fixedCertificateCache_ = new Hashtable();
                    this.keyTimestamps_ = new Hashtable();
                    this.config_ = new BoostInfoParser();
                    this.requiresVerification_ = true;
                    this.refreshManager_ = new ConfigPolicyManager.TrustAnchorRefreshManager ();
            certificateCache_ = certificateCache;
            maxDepth_ = searchDepth;
            keyGraceInterval_ = graceInterval;
            keyTimestampTtl_ = keyTimestampTtl;
            maxTrackedKeys_ = maxTrackedKeys;

            if (configFileName != null && !configFileName.equals(""))
                load(configFileName);
        }
 /// <summary>
 /// Create a new ConfigPolicyManager which will act on the rules specified in
 /// the configuration and download unknown certificates when necessary. Use
 /// default parameter values. You must call load().
 /// </summary>
 ///
 public ConfigPolicyManager()
 {
     this.certificateCache_ = new CertificateCache();
     this.maxDepth_ = 5;
     this.keyGraceInterval_ = 3000;
     this.keyTimestampTtl_ = 3600000;
     this.maxTrackedKeys_ = 1000;
     this.fixedCertificateCache_ = new Hashtable();
     this.keyTimestamps_ = new Hashtable();
     this.config_ = new BoostInfoParser();
     this.requiresVerification_ = true;
     this.refreshManager_ = new ConfigPolicyManager.TrustAnchorRefreshManager ();
 }