Пример #1
0
        internal static SmimeConfigurationContainer LoadSmimeConfiguration(OrganizationId organizationId, int hashCodeForTracing)
        {
            SmimeConfigurationContainer config            = null;
            ADOperationResult           adoperationResult = ADNotificationAdapter.TryRunADOperation(delegate()
            {
                ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(organizationId);
                IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(false, ConsistencyMode.PartiallyConsistent, sessionSettings, 265, "LoadSmimeConfiguration", "f:\\15.00.1497\\sources\\dev\\AirSync\\src\\AirSync\\CertificateManager.cs");
                SmimeConfigurationContainer[] array = tenantOrTopologyConfigurationSession.Find <SmimeConfigurationContainer>(SmimeConfigurationContainer.GetWellKnownParentLocation(tenantOrTopologyConfigurationSession.GetOrgContainerId()), QueryScope.SubTree, null, null, 1);
                if (array != null && array.Length > 0)
                {
                    config = array[0];
                }
            });

            if (!adoperationResult.Succeeded || config == null)
            {
                AirSyncDiagnostics.TraceError <bool, OrganizationId, string>(ExTraceGlobals.RequestTracer, null, "Failed to find SmimeConfigurationContainer: Succeeded='{0}' OrganizationId='{1}', Exception='{2}'", adoperationResult.Succeeded, organizationId, (adoperationResult.Exception != null) ? adoperationResult.Exception.ToString() : "NULL");
            }
            return(config);
        }
Пример #2
0
        protected SmimeConfigurationContainer LoadSmimeAdminOptions(OrganizationId organizationId)
        {
            SmimeConfigurationContainer smimeConfiguration = null;
            ADOperationResult           adoperationResult  = ADNotificationAdapter.TryRunADOperation(delegate()
            {
                ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(organizationId);
                IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(false, ConsistencyMode.PartiallyConsistent, sessionSettings, 542, "LoadSmimeAdminOptions", "f:\\15.00.1497\\sources\\dev\\clients\\src\\Owa2\\Server\\Core\\ServiceCommands\\GetOwaUserConfiguration.cs");
                SmimeConfigurationContainer[] array = tenantOrTopologyConfigurationSession.Find <SmimeConfigurationContainer>(SmimeConfigurationContainer.GetWellKnownParentLocation(tenantOrTopologyConfigurationSession.GetOrgContainerId()), QueryScope.SubTree, null, null, 1);
                if (array != null && array.Length > 0)
                {
                    smimeConfiguration = array[0];
                }
            });

            if (!adoperationResult.Succeeded)
            {
                ExTraceGlobals.ExceptionTracer.TraceError <OrganizationId, object>((long)this.GetHashCode(), "Find SmimeConfigurationContainer for {0} threw exception: {1}", organizationId, adoperationResult.Exception ?? "<null>");
            }
            return(smimeConfiguration);
        }
Пример #3
0
 public CertificateManager(ExchangePrincipal exchangePrincipal, MailboxSession mailboxSession, int lcid, int certificateSlotsLeft, SmimeConfigurationContainer smimeConfiguration, OrganizationId organizationId)
 {
     this.certificateSlotsLeft = certificateSlotsLeft;
     this.mailboxSession       = mailboxSession;
     this.lcid = lcid;
     this.exchangePrincipal  = exchangePrincipal;
     this.smimeConfiguration = smimeConfiguration;
     this.organizationId     = organizationId;
 }