/// <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); }
public bool Validate(OiosiMessage oiosiMessage) { bool result = true; SendingOptionConfig sendingOptionConfig = ConfigurationHandler.GetConfigurationSection <SendingOptionConfig>(); this.logger.Trace("Start SendingValidation"); if (sendingOptionConfig.SchemaValidationBool) { this.logger.Trace("Start schema"); SchemaValidatorWithLookup schemaValidatorWithLookup = new SchemaValidatorWithLookup(); //string document = oiosiMessage.MessageXml XmlDocument document = oiosiMessage.MessageXml; schemaValidatorWithLookup.Validate(document.OuterXml); result = true; } if (result && sendingOptionConfig.SchematronValidationBool) { this.logger.Trace("Start schematron"); SchematronValidatorWithLookup schematronValidatorWithLookup = new SchematronValidatorWithLookup(); //string document = oiosiMessage.MessageString; XmlDocument document = oiosiMessage.MessageXml; schematronValidatorWithLookup.Validate(document.OuterXml); result = true; } this.logger.Trace("Finish SendingValidation"); return(result); }
/// <summary> /// Creates an IUddiLookup implementation, as set in config. /// </summary> /// <returns>The IUddiLookup implementation</returns> public IUddiLookupClient CreateUddiLookupClient(Uri address) { // 1. Get factory config: _config = ConfigurationHandler.GetConfigurationSection <UddiLookupClientFactoryConfig>(); // 2. Get the type to load: if (string.IsNullOrEmpty(_config.ImplementationNamespaceClass)) { throw new UddiNoImplementingClassException(); } if (string.IsNullOrEmpty(_config.ImplementationAssembly)) { throw new UddiNoImplementingAssemblyException(); } string qualifiedTypename = _config.ImplementationNamespaceClass + ", " + _config.ImplementationAssembly; Type lookupClientType = Type.GetType(qualifiedTypename); if (lookupClientType == null) { throw new CouldNotLoadTypeException(qualifiedTypename); } // 3. Instantiate the type: object[] parameters = new object[] { address }; Type[] typeArray = new Type[] { typeof(Uri) }; ConstructorInfo constructorInfo = lookupClientType.GetConstructor(typeArray); IUddiLookupClient lookupClient = (IUddiLookupClient)constructorInfo.Invoke(parameters); return(lookupClient); }
/// <summary> /// Set default, test Ocsp factory /// </summary> public override void SetTestRevocationLookupFactoryConfig() { RevocationLookupFactoryConfig revoFactoryConfig = ConfigurationHandler.GetConfigurationSection <RevocationLookupFactoryConfig>(); revoFactoryConfig.ImplementationAssembly = "dk.gov.oiosi.library"; revoFactoryConfig.ImplementationNamespaceClass = "dk.gov.oiosi.security.revocation.ocsp.OcspLookupTest"; }
/// <summary> /// Set default live config values /// </summary> public virtual void SetOscpConfig() { // Live certificates here OcspConfig ocspConfig = ConfigurationHandler.GetConfigurationSection <OcspConfig>(); ocspConfig.DefaultTimeoutMsec = 20000; }
static X509Certificate2 Ldap(CertificateSubject certSubject) { LdapSettings settings = ConfigurationHandler.GetConfigurationSection <LdapSettings>(); // Print out info Console.WriteLine(); Console.WriteLine("2. Certificate download"); Console.ForegroundColor = ConsoleColor.Gray; Console.WriteLine(" Using host"); Console.WriteLine(" " + settings.Host); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(); // Create the LDAP client LdapLookupFactory ldapClientFactory = new LdapLookupFactory(); ICertificateLookup ldapClient = ldapClientFactory.CreateLdapLookupClient(); // Lookup the certificate using LDAP X509Certificate2 certificate = ldapClient.GetCertificate(certSubject); Console.WriteLine(" Downloaded certificate with LDAP:"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine(" " + certificate.Subject); Console.ForegroundColor = ConsoleColor.White; return(certificate); }
/// <summary> /// Builds an instance of an IRevocationLookup client based on configuration. /// </summary> /// <returns>ocsp lookup</returns> private IRevocationLookup CreateInstance() { // 1. Get factory config: RevocationLookupFactoryConfig config = ConfigurationHandler.GetConfigurationSection <RevocationLookupFactoryConfig>(); return(this.CreateInstance(config)); }
public void MyTest() { string fileName = "RaspConfiguration.UnitTest.SetupAllSections.xml"; ConfigurationHandler.ConfigFilePath = fileName; DocumentTypeCollectionConfig configuration = ConfigurationHandler.GetConfigurationSection <DocumentTypeCollectionConfig>(); }
/// <summary> /// Fill configuration section with default live values /// </summary> public virtual void SetSendingOptionConfig() { SendingOptionConfig SendingOptionConfig = ConfigurationHandler.GetConfigurationSection <SendingOptionConfig>(); SendingOptionConfig.SchemaValidation = bool.TrueString; SendingOptionConfig.SchematronValidation = bool.TrueString; }
/// <summary> /// Set default, test certificate root location /// </summary> public virtual void SetDefaultLdapConfigTest() { LdapCertificateLookupTestConfig ldapTestConfig = ConfigurationHandler.GetConfigurationSection <LdapCertificateLookupTestConfig>(); ldapTestConfig.StoreLocation = StoreLocation.LocalMachine; ldapTestConfig.StoreName = StoreName.Root; }
/// <summary> /// Use test Ldap config factory /// </summary> public virtual void SetTestLdapLookupFactoryConfig() { LdapLookupFactoryConfig ldapFactoryConfig = ConfigurationHandler.GetConfigurationSection <LdapLookupFactoryConfig>(); ldapFactoryConfig.ImplementationAssembly = "dk.gov.oiosi.library"; ldapFactoryConfig.ImplementationNamespaceClass = "dk.gov.oiosi.security.ldap.LdapCertificateLookupTest"; }
/// <summary> /// Returns a selected certificate based on configuration. /// </summary> /// <param name="certificateSubject">The subject serial number of the certificate</param> /// <returns>Returns a selected certificate based on configuration.</returns> public X509Certificate2 GetCertificate(CertificateSubject certificateSubject) { CertificateLoader certificateLoader = new CertificateLoader(); switch (_config.Action) { case LdapCertificateLookupTestConfig.LookupAction.FindCertificate: // 1. Attempt to load the certificate from store: return(certificateLoader.GetCertificateFromStoreWithSSN( certificateSubject.SerialNumberValue, _config.StoreLocation, _config.StoreName )); case LdapCertificateLookupTestConfig.LookupAction.ConnectionFailed: LdapSettings settings = ConfigurationHandler.GetConfigurationSection <LdapSettings>(); throw new ConnectingToLdapServerFailedException(settings, new Exception(this.ToString())); case LdapCertificateLookupTestConfig.LookupAction.SearchFailed: throw new SearchFailedException(new Exception(this.ToString())); default: throw new NotImplementedException(); } }
/// <summary> /// Gets the single instance of the schematron store /// </summary> /// <returns></returns> public static SchematronStore GetSchematronStore() { lock (_lockObject) { if (_instance == null) { ISchematronStoreConfig config; if (ConfigurationHandler.HasConfigurationSection <SchematronStoreConfig>()) { config = ConfigurationHandler.GetConfigurationSection <SchematronStoreConfig>(); } else { config = (SchematronStoreConfig)ConfigurationManager.GetSection(SchematronStoreAppConfig.SCHEMATRONSTOREAPPCONFIGNAME); } if (config == null) { _instance = new SchematronStore(); } else { _instance = new SchematronStore(config); } } return(_instance); } }
/// <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>(); }
private AdvancedUddiDummyClient.AdvancedUddiDummyClientConfig GetClearDummyConfig() { // Clears the dummy so that all calls return a result AdvancedUddiDummyClient.AdvancedUddiDummyClientConfig dummyConfig = ConfigurationHandler.GetConfigurationSection <AdvancedUddiDummyClient.AdvancedUddiDummyClientConfig>(); dummyConfig.NonExistingRegistrations.Clear(); dummyConfig.ErroneousEndpoints.Clear(); return(dummyConfig); }
/// <summary> /// Adds a document type definition to the collection /// </summary> /// <param name="profileMapping"></param> public virtual void Add(ProfileMapping profileMapping) { ProfileMappingCollectionConfig configuration = ConfigurationHandler.GetConfigurationSection <ProfileMappingCollectionConfig>(); if (!configuration.ContainsProfileMappingByName(profileMapping.Name)) { configuration.AddProfileMapping(profileMapping); } }
public void SetupAllSections() { string fileName = "RaspConfiguration.UnitTest.SetupAllSections.xml"; FileInfo fileInfo = new FileInfo(fileName); if (fileInfo.Exists) { fileInfo.Delete(); } while (File.Exists(fileName)) { // wait Thread.Sleep(1); if (File.Exists(fileName)) { File.Delete(fileName); } } ConfigurationHandler.ConfigFilePath = fileName; ConfigurationHandler.Reset(); SetupDefaultDocumentTypes(); SetupProfileMappings(); SetupDefaultLdapConfig(); SetupDefaultOscpConfig(); SetupDefaultUddiConfig(); SetupDefaultCacheConfig(); SetupDefaultRootCertificateConfig(); SetupDefaultOcesCertificates(); SetupDefaultSendingOptionConfig(); ConfigurationHandler.SaveToFile(); Assert.IsTrue(File.Exists(ConfigurationHandler.ConfigFilePath)); FileInfo file = new FileInfo(ConfigurationHandler.ConfigFilePath); Assert.IsTrue(file.Length > 1024); DocumentTypeCollectionConfig docTypeConfig = ConfigurationHandler.GetConfigurationSection <DocumentTypeCollectionConfig>(); Assert.AreEqual(35, docTypeConfig.DocumentTypes.Length, "Expected number of document types not found."); ProfileMappingCollectionConfig profileMappingConfig = ConfigurationHandler.GetConfigurationSection <ProfileMappingCollectionConfig>(); //// OioXml +2 //// OIOUBL: +22 //// OIOUBL nesubl: +6 //// OIOUBL Utility: +2 //// OioUbl 20140915: +6 //// Peppol profiles: +5 //// NemKonto +2 //// TotalCount 45 Assert.AreEqual(45, profileMappingConfig.ProfileMappings.Length, "Expected number of profilemappings not found."); }
public void _01_TestInitConfigurationEmpty() { ConfigurationHandler.ConfigFilePath = "Resources/RaspConfiguration.Live.xml"; ConfigurationHandler.Reset(); RootCertificateCollectionConfig rootCertificateCollectionConfig = ConfigurationHandler.GetConfigurationSection <RootCertificateCollectionConfig>(); RootCertificateLocation[] rootCertificateLocation = rootCertificateCollectionConfig.RootCertificateCollection; Assert.AreEqual(1, rootCertificateLocation.Length, "Expected 2 root certificated."); }
public Program() { ConfigurationHandler.ConfigFilePath = "./RaspConfiguration.Live.xml"; ConfigurationHandler.Reset(); UddiConfig config = ConfigurationHandler.GetConfigurationSection <UddiConfig>(); this.uddiServerUri = new Uri(config.LookupRegistryFallbackConfig.PrioritizedRegistryList[0].Endpoints[0]); this.PerformLookup(); }
/// <summary> /// Sets the test UDDI lookup factory configuration /// </summary> public virtual void SetTestUddiLookupFactoryConfig() { UddiLookupClientFactoryConfig uddiFactoryConfig = ConfigurationHandler.GetConfigurationSection <UddiLookupClientFactoryConfig>(); uddiFactoryConfig.ImplementationAssembly = "dk.gov.oiosi.library"; uddiFactoryConfig.ImplementationNamespaceClass = "dk.gov.oiosi.uddi.UddiLookupClientTest"; RegistryLookupClientFactoryConfig regFactoryConfig = ConfigurationHandler.GetConfigurationSection <RegistryLookupClientFactoryConfig>(); regFactoryConfig.ImplementationAssembly = "dk.gov.oiosi.library"; uddiFactoryConfig.ImplementationNamespaceClass = "dk.gov.oiosi.uddi.RegistryLookupClient"; }
/// <summary> /// Fill configuration section with default live values /// </summary> public virtual void SetDefaultLdapConfig() { LdapSettings ldapSettings = ConfigurationHandler.GetConfigurationSection <LdapSettings>(); // Lookup for live OCES certificates ldapSettings.Host = "dir.certifikat.dk"; ldapSettings.Host = "crtdir.certifikat.dk"; ldapSettings.MaxResults = 1; ldapSettings.Port = 389; ldapSettings.ConnectionTimeoutMsec = 5000; ldapSettings.SearchClientTimeoutMsec = 5000; ldapSettings.SearchServerTimeoutMsec = 5000; }
private void AddNoNamespaceTestDocumentType() { Console.WriteLine("ConfigurationHandler.Version=" + ConfigurationHandler.Version); Console.WriteLine("ConfigurationHandler.ConfigFilePath=" + ConfigurationHandler.ConfigFilePath); DocumentTypeCollectionConfig configuration = ConfigurationHandler.GetConfigurationSection <DocumentTypeCollectionConfig>(); DocumentTypeConfig documentType = new DocumentTypeConfig(); documentType.FriendlyName = friendlyName; documentType.RootName = "NoNamespace"; documentType.RootNamespace = ""; configuration.AddDocumentType(documentType); }
private void SetUpConfiguration() { // Configures fallback sequence UddiConfig uddiConfig = ConfigurationHandler.GetConfigurationSection <UddiConfig>(); uddiConfig.FallbackTimeoutMinutes = 1; //uddiConfig.PublishEndpoint = uddiConfig.SecurityEndpoint = "http://a.com"; uddiConfig.LookupRegistryFallbackConfig = new LookupRegistryFallbackConfig(); uddiConfig.LookupRegistryFallbackConfig.PrioritizedRegistryList.Add( new Registry( new List <string>() { firstRegistry.ToString(), firstFallback.ToString() })); uddiConfig.LookupRegistryFallbackConfig.PrioritizedRegistryList.Add( new Registry( new List <string>() { secondRegistry.ToString(), secondFallback.ToString() })); uddiConfig.LookupRegistryFallbackConfig.PrioritizedRegistryList.Add( new Registry( new List <string>() { thirdRegistry.ToString() })); uddiConfig.LookupRegistryFallbackConfig.PrioritizedRegistryList.Add( new Registry( new List <string>() { fourthRegistry.ToString(), fourthFallback1.ToString(), fourthFallback2.ToString() })); // Configures factories for UDDI lookup clients used RegistryLookupClientFactoryConfig registryLookupClientFactoryConfig = ConfigurationHandler.GetConfigurationSection <RegistryLookupClientFactoryConfig>(); registryLookupClientFactoryConfig.ImplementationNamespaceClass = typeof(RegistryLookupClient).FullName; registryLookupClientFactoryConfig.ImplementationAssembly = typeof(RegistryLookupClient).Assembly.FullName; UddiLookupClientFactoryConfig uddiLookupClientFactoryConfig = ConfigurationHandler.GetConfigurationSection <UddiLookupClientFactoryConfig>(); uddiLookupClientFactoryConfig.ImplementationNamespaceClass = typeof(AdvancedUddiDummyClient).FullName; uddiLookupClientFactoryConfig.ImplementationAssembly = typeof(AdvancedUddiDummyClient).Assembly.FullName; }
/// <summary> /// Set default, test values /// </summary> public virtual void SetTestOcesCertificateConfig() { OcesX509CertificateConfig config = ConfigurationHandler.GetConfigurationSection <OcesX509CertificateConfig>(); string personalOcesCertificateSubjectKey = "PID"; string employeeOcesCertificateSubjectKey = "RID"; string organizationOcesCertificateSubjectKey = "UID"; string functionOcesCertificateSubjectKey = "FID"; config.PersonalCertificateSubjectKey.SubjectKeyString = personalOcesCertificateSubjectKey; config.EmployeeCertificateSubjectKey.SubjectKeyString = employeeOcesCertificateSubjectKey; config.OrganizationCertificateSubjectKey.SubjectKeyString = organizationOcesCertificateSubjectKey; config.FunctionCertificateSubjetKey.SubjectKeyString = functionOcesCertificateSubjectKey; }
static UddiLookupResponse Uddi(OiosiMessage message, DocumentTypeConfig docTypeConfig) { UddiConfig uddiConfig = ConfigurationHandler.GetConfigurationSection <UddiConfig>(); Console.WriteLine("1. UDDI services"); Console.ForegroundColor = ConsoleColor.Gray; Console.WriteLine(" Using UDDI/NemHandel register(s):"); foreach (Registry registry in uddiConfig.LookupRegistryFallbackConfig.PrioritizedRegistryList) { foreach (string endpoint in registry.Endpoints) { Console.WriteLine(" " + endpoint); } } // Create a uddi client RegistryLookupClientFactory uddiClientFactory = new RegistryLookupClientFactory(); uddiClient = uddiClientFactory.CreateUddiLookupClient(); // Get the UDDI parameters with which to call the UDDI server LookupParameters parameters = GetUddiParameters(message, docTypeConfig); Console.WriteLine(" Lookup Parameters"); Console.WriteLine(" EndPoint : " + parameters.Identifier.ToString()); Console.WriteLine(" EndPoint type : " + parameters.Identifier.KeyTypeCode); Console.WriteLine(" Profile : " + GetProfileName(message, docTypeConfig)); // Perform the actual UDDI lookup UddiLookupResponse uddiResponse = PerformUddiLookup(parameters); Console.WriteLine(); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(" Got UDDI reply:"); Console.ForegroundColor = ConsoleColor.Yellow; if (uddiResponse == null) { Console.WriteLine(" The endpoint is no registrated in UDDI!"); } else { Console.WriteLine(" " + uddiResponse.EndpointAddress.GetKeyAsString()); } Console.ForegroundColor = ConsoleColor.White; return(uddiResponse); }
/// <summary> /// Sets the default uddi configuration /// </summary> public virtual void SetDefaultUddiConfig() { UddiConfig uddiConfig = ConfigurationHandler.GetConfigurationSection <UddiConfig>(); uddiConfig.TryOtherHostsOnFailure = true; uddiConfig.FallbackTimeoutMinutes = 15; uddiConfig.LookupRegistryFallbackConfig = new LookupRegistryFallbackConfig(); uddiConfig.LookupRegistryFallbackConfig.PrioritizedRegistryList.Add( new Registry( new List <string>() { "http://discoverypublic.nemhandel.dk/uddi/services/inquiry", "http://discoverybackup.nemhandel-backup.dk/uddi/services/inquiry" }) ); }
public void ConfigurationFileMustContainExactlyOneSectionOfEachTypeAccessedEvenIfTheSectionIsNotPreloaded() { var configFileWithEmailSection = GetConfigFileWithEmailTransportConfigSectionWithOnlyCertificatesSet(); ConfigurationHandler.ConfigFilePath = configFileWithEmailSection.FullName; ConfigurationHandler.Reset(); ConfigurationHandler.PreloadRegisteredConfigurationSections(); ConfigurationHandler.SaveToFile(); ConfigurationHandler.GetConfigurationSection <EmailTransportUserConfig>(); ConfigurationHandler.SaveToFile(); var rootNode = GetRaspConfigurationNode(configFileWithEmailSection); AssertNodeHasExactlyOneConfigurationSectionWithName(rootNode, "EmailTransportUserConfig"); }