private static void UpdateConfigDomain(DataTable dataTable, DataObjectStore store, string cfgName) { DataRow row = dataTable.Rows[0]; PopImapAdConfiguration popImapAdConfiguration = (PopImapAdConfiguration)store.GetDataObject(cfgName + "Configuration"); if (popImapAdConfiguration != null && !string.IsNullOrEmpty(popImapAdConfiguration.X509CertificateName)) { CertificateHelper.GetOneItem(row, cfgName + "Domain", popImapAdConfiguration.X509CertificateName); } }
internal static string GetIMapFQDN(ITopologyConfigurationSession session) { PopImapAdConfiguration popImapAdConfiguration = PopImapAdConfiguration.FindOne <Imap4AdConfiguration>(session); if (popImapAdConfiguration == null) { return(null); } return(popImapAdConfiguration.X509CertificateName); }
public static void OnPostPopImapSetting(string prefix, DataRow inputRow, DataTable dataTable, DataObjectStore store) { DataRow row = dataTable.Rows[0]; object dataObject = store.GetDataObject(prefix + "AdConfig"); if (dataObject != null && dataObject is PopImapAdConfiguration) { PopImapAdConfiguration popImapAdConfiguration = (PopImapAdConfiguration)dataObject; if (popImapAdConfiguration.UnencryptedOrTLSBindings != null) { ServersService.ConvertIpBinding(prefix + "UnencryptedOrTLSBindings", popImapAdConfiguration.UnencryptedOrTLSBindings, row); } if (popImapAdConfiguration.SSLBindings != null) { ServersService.ConvertIpBinding(prefix + "SSLBindings", popImapAdConfiguration.SSLBindings, row); } } }
private static void SetPopImapCertificate(X509Certificate2 cert, PopImapAdConfiguration popImapAdConfiguration, IConfigurationSession dataSession, List <LocalizedString> warningList) { if (popImapAdConfiguration != null) { IList <string> fqdns = TlsCertificateInfo.GetFQDNs(cert); if (fqdns.Count == 0) { return; } popImapAdConfiguration.X509CertificateName = fqdns[0]; try { dataSession.Save(popImapAdConfiguration); } catch (DataValidationException) { if (warningList != null) { warningList.Add(Strings.WarnInvalidCertificateForProtocol(cert.Thumbprint, fqdns[0], popImapAdConfiguration.ProtocolName.Remove(popImapAdConfiguration.ProtocolName.Length - 1))); } } } }
private static bool TrySelectProtocolConnectionSettings(ServiceType serviceType, PopImapAdConfiguration popImapConfiguration, bool useExternalPopImapSettings, Dictionary <ServiceType, ProtocolConnectionSettings> e15Protocols) { IList <ProtocolConnectionSettings> list = useExternalPopImapSettings ? popImapConfiguration.ExternalConnectionSettings : popImapConfiguration.InternalConnectionSettings; ProtocolConnectionSettings protocolConnectionSettings = null; foreach (ProtocolConnectionSettings protocolConnectionSettings2 in list) { if (protocolConnectionSettings == null) { protocolConnectionSettings = protocolConnectionSettings2; } else { if (protocolConnectionSettings2.EncryptionType == EncryptionType.SSL) { protocolConnectionSettings = protocolConnectionSettings2; break; } if (protocolConnectionSettings2.EncryptionType == EncryptionType.TLS && protocolConnectionSettings.EncryptionType == null) { protocolConnectionSettings = protocolConnectionSettings2; } } } if (protocolConnectionSettings != null) { e15Protocols[serviceType] = protocolConnectionSettings; ExTraceGlobals.CafeTracer.TraceDebug <string, ProtocolConnectionSettings>(0L, "[GlobalServiceUrls.TrySelectProtocolConnectionSettings] Found {0} settings {1}", typeof(ServiceType).Name, protocolConnectionSettings); return(true); } return(false); }
private static void SetImap4Certificate(X509Certificate2 cert, ITopologyConfigurationSession dataSession, List <LocalizedString> warningList) { ManageExchangeCertificate.SetPopImapCertificate(cert, PopImapAdConfiguration.FindOne <Imap4AdConfiguration>(dataSession), dataSession, warningList); }