using System; using System.Collections.Generic; using System.Text; using ArchestrAServices.Common; namespace ArchestrAServices.Contract; public static class ASBSolutionUtilities { public static string WriteSecurityInformationInRegistry(SystemAuthenticationASBConfiguration ConfigurationData, string xmlExtraInfo) { string empty = string.Empty; try { ASBConfigurationInformation obj = new ASBConfigurationInformation { EncryptedCertificate = ((ConfigurationData.EncryptedCertificate == null) ? string.Empty : Encoding.Default.GetString(ConfigurationData.EncryptedCertificate)), EncryptedSharedSecret = ((ConfigurationData.EncryptedSharedSecret == null) ? string.Empty : Encoding.Default.GetString(ConfigurationData.EncryptedSharedSecret)), Generator = ((ConfigurationData.generator == null) ? string.Empty : Encoding.Default.GetString(ConfigurationData.generator)), HashAlgorithm = ((ConfigurationData.hashAlgorithm == null) ? string.Empty : ConfigurationData.hashAlgorithm), InitializationVector = ((ConfigurationData.initializationVector == null) ? string.Empty : Encoding.Default.GetString(ConfigurationData.initializationVector)), SolutionName = ((ConfigurationData.solutionName == null) ? string.Empty : ConfigurationData.solutionName), KeySize = ConfigurationData.keySize, PasswordDerivationIterations = ConfigurationData.passwordDerivationIterations, Prime = ((ConfigurationData.prime == null) ? string.Empty : Encoding.Default.GetString(ConfigurationData.prime)), SaltValue = ((ConfigurationData.saltValue == null) ? string.Empty : Encoding.Default.GetString(ConfigurationData.saltValue)), IsDefault = "false", SRNodeName = ((ConfigurationData.srNodeName == null) ? string.Empty : ConfigurationData.srNodeName) }; Dictionary dictionary = RegistryHandler.ParseXMLExtraInfo(xmlExtraInfo); string value = string.Empty; string value2 = string.Empty; string value3 = string.Empty; string value4 = string.Empty; dictionary.TryGetValue("PrimaryGlobalDiscovery", out value); dictionary.TryGetValue("SecondaryGlobalDiscovery", out value2); dictionary.TryGetValue("PrimaryUniversalDiscovery", out value3); dictionary.TryGetValue("SecondaryUniversalDiscovery", out value4); obj.PrimaryGlobalDiscovery = value; obj.SecondaryGlobalDiscovery = value2; obj.PrimaryUniversalDiscovery = value3; obj.SecondaryUniversalDiscovery = value4; return RegistryHandler.CreateASBConfigInfoStructureInRegistry(obj, obj.SRNodeName, isRegister: false); } catch (Exception ex) { return ex.Message; } } }