private void ValidateForEnterprise(IRMConfiguration config) { if (config.ExternalLicensingEnabled && !ExternalAuthentication.GetCurrent().Enabled) { base.WriteError(new OrganizationNotFederatedException(), ErrorCategory.InvalidOperation, base.Identity); } if (config.InternalLicensingEnabled) { Uri rmsserviceLocation = RmsClientManager.GetRMSServiceLocation(OrganizationId.ForestWideOrgId, ServiceType.Certification); if (rmsserviceLocation == null) { base.WriteError(new NoRMSServersFoundException(), ErrorCategory.InvalidOperation, base.Identity); } this.ValidateRmsVersion(rmsserviceLocation, ServiceType.CertificationService); this.ValidateRmsVersion(rmsserviceLocation, ServiceType.LicensingService); } if (!MultiValuedPropertyBase.IsNullOrEmpty(config.LicensingLocation)) { foreach (Uri uri in config.LicensingLocation) { if (string.IsNullOrEmpty(RMUtil.ConvertUriToLicenseUrl(uri))) { base.WriteError(new RmsUrlIsInvalidException(uri), ErrorCategory.InvalidOperation, base.Identity); } this.ValidateRmsVersion(uri, ServiceType.LicensingService); } } }
private bool TryGetRacAndClc() { this.result.SetTask(Strings.InfoGetCertificationUri); try { this.certificationUri = RmsClientManager.GetRMSServiceLocation(this.organizationId, ServiceType.Certification); this.certificationUri = RmsoProxyUtil.GetCertificationServerRedirectUrl(this.certificationUri); } catch (RightsManagementException ex) { this.result.SetFailureResult(Strings.ErrorFailedToGetCertificationUri, ex, this.encryptionEnabled); return(false); } catch (ExchangeConfigurationException ex2) { this.result.SetFailureResult(Strings.ErrorFailedToGetCertificationUri, ex2, this.encryptionEnabled); return(false); } if (this.certificationUri == null) { this.result.SetFailureResult(Strings.ErrorFailedToGetCertificationUri, null, this.encryptionEnabled); return(false); } this.result.SetSuccessResult(Strings.InfoCertificationUri(this.certificationUri)); this.result.SetTask(Strings.InfoCheckRmsVersion(this.certificationUri)); try { if (this.ValidateRmsVersion(this.certificationUri, ServiceType.CertificationService)) { this.result.SetSuccessResult(Strings.InfoRmsVersionChecked); } else { this.result.SetFailureResult(Strings.ErrorFailedRmsVersionCheck, null, this.encryptionEnabled); } } catch (RightsManagementException ex3) { this.result.SetFailureResult(Strings.ErrorFailedRmsVersionCheck, ex3, this.encryptionEnabled); return(false); } catch (ExchangeConfigurationException ex4) { this.result.SetFailureResult(Strings.ErrorFailedRmsVersionCheckInitialization, ex4, this.encryptionEnabled); return(false); } this.result.SetTask(Strings.InfoGetPublishingUri); try { this.publishingUri = RmsClientManager.GetRMSServiceLocation(this.organizationId, ServiceType.Publishing); this.publishingUri = RmsoProxyUtil.GetLicenseServerRedirectUrl(this.publishingUri); } catch (RightsManagementException ex5) { this.result.SetFailureResult(Strings.ErrorFailedToGetPublishingUri, ex5, this.encryptionEnabled); return(false); } catch (ExchangeConfigurationException ex6) { this.result.SetFailureResult(Strings.ErrorFailedToGetPublishingUri, ex6, this.encryptionEnabled); return(false); } if (this.publishingUri == null) { this.result.SetFailureResult(Strings.ErrorFailedToGetPublishingUri, null, this.encryptionEnabled); return(false); } this.result.SetSuccessResult(Strings.InfoPublishingUri(this.publishingUri)); this.result.SetTask(Strings.InfoGetRacAndClc); try { this.tenantLicenses = RmsClientManager.AcquireTenantLicenses(this.context, this.publishingUri); this.result.SetSuccessResult(Strings.InfoRacAndClc); } catch (ExchangeConfigurationException ex7) { this.result.SetFailureResult(this.datacenter ? Strings.ErrorFailedToGetRacAndClcTenant : Strings.ErrorFailedToGetRacAndClcEnterprise, ex7, this.encryptionEnabled); return(false); } catch (RightsManagementException ex8) { this.result.SetFailureResult(this.datacenter ? Strings.ErrorFailedToGetRacAndClcTenant : Strings.ErrorFailedToGetRacAndClcEnterprise, ex8, this.encryptionEnabled); return(false); } return(true); }