Beispiel #1
0
        /// <summary>
        /// Default constructor. Attempts to load configuration from configuration file.
        /// </summary>
        public OcspLookup()
        {
            this.logger = LoggerFactory.Create(this);
            OcspConfig configuration = ConfigurationHandler.GetConfigurationSection <OcspConfig>();

            this.Init(configuration, null);
        }
Beispiel #2
0
        /// <summary>
        /// Default constructor. Attempts to load configuration from file.
        /// </summary>
        public OcspLookupTest()
        {
            // 1. Load normal OCSP config
            _config = ConfigurationHandler.GetConfigurationSection <OcspConfig>();

            // 2. Load OcspLookupTest-specific configuration:
            _testConfig = ConfigurationHandler.GetConfigurationSection <OcspLookupTestConfig>();
        }
Beispiel #3
0
        /// <summary>
        /// Initializes. If the default root certificate is set to null, an attempt is made
        /// to get a default root certificate from a Configuration.xml file
        /// </summary>
        /// <param name="configuration">OCSP configuration</param>
        /// <param name="defaultRootCertificateList">If the default root certificate is set to null, an attempt is made
        /// to get a default root certificate from a Configuration.xml file</param>
        private void Init(OcspConfig configuration, IList <X509Certificate2> defaultRootCertificateList)
        {
            this.ocspCache = CacheFactory.Instance.OcspLookupCache;
            try
            {
                // 1. Set configuration
                _configuration = configuration;

                // 2. Get default certificate:
                if (defaultRootCertificateList == null)
                {
                    defaultRootCertificateList = _configuration.GetDefaultOcesRootCertificateListFromStore();
                }

                // put the root certificates into the directory

                this.rootCertificateDirectory = new Dictionary <string, X509Certificate2>();

                foreach (X509Certificate2 x509Certificate2 in defaultRootCertificateList)
                {
                    this.rootCertificateDirectory.Add(x509Certificate2.Thumbprint.ToLowerInvariant(), x509Certificate2);
                }
            }
            catch (UriFormatException)
            {
                throw;
            }
            catch (ArgumentNullException)
            {
                throw;
            }
            catch (OverflowException)
            {
                throw;
            }
            catch (FormatException)
            {
                throw;
            }
            catch (CryptographicUnexpectedOperationException)
            {
                throw;
            }
            catch (CryptographicException)
            {
                throw;
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #4
0
 /// <summary>
 /// Constructor. Does not rely on configuration files.
 /// </summary>
 /// <param name="ocspConfig">The OCSP configuration</param>
 /// <param name="testConfig">Configuration specific for this class</param>
 public OcspLookupTest(OcspConfig ocspConfig, OcspLookupTestConfig testConfig)
 {
     _config     = ocspConfig;
     _testConfig = testConfig;
 }
Beispiel #5
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="configuration">Configuration</param>
 /// <param name="defaultRootCertificateList">The default root certificate</param>
 public OcspLookup(OcspConfig configuration, IList <X509Certificate2> defaultRootCertificateList)
 {
     this.logger = LoggerFactory.Create(this);
     this.Init(configuration, defaultRootCertificateList);
 }
Beispiel #6
0
 /// <summary>
 /// Instantiates OcspLookup and loads the OCES default root certificate
 /// </summary>
 /// <param name="configuration">Configuration parameters</param>
 public OcspLookup(OcspConfig configuration)
 {
     this.logger = LoggerFactory.Create(this);
     this.Init(configuration, null);
 }