Esempio n. 1
0
 private static void ThrowIfRightsTemplateInvalid(TrustedPublishingDomainImportUtilities tpdImportUtilities, string tpdName, string template, Guid templateGuid, out object failureTarget)
 {
     RmsUtil.ThrowIfParameterNull(tpdImportUtilities, "tpdImportUtilities");
     RmsUtil.ThrowIfStringParameterNullOrEmpty(tpdName, "tpdName");
     RmsUtil.ThrowIfStringParameterNullOrEmpty(template, "template");
     failureTarget = null;
     if (Guid.Empty == templateGuid)
     {
         failureTarget = tpdName;
         throw new InvalidTemplateException();
     }
     try
     {
         tpdImportUtilities.ValidateRightsTemplate(template);
     }
     catch (ValidationException ex)
     {
         failureTarget = tpdName;
         throw new FailedToValidateTemplateException(templateGuid, ex.ErrorCode);
     }
 }
Esempio n. 2
0
        public string ValidateTpdSuitableForImport(TrustedDocDomain tpd, string tpdName, out object failureTarget, IConfigurationSession configurationSession = null, string existingTpdKeyId = null, string existingTpdKeyType = null, Uri existingTpdIntranetLicensingUrl = null, Uri existingTpdExtranetLicensingUrl = null, SecureString tpdFilePassword = null)
        {
            RmsUtil.ThrowIfParameterNull(tpd, "tpd");
            RmsUtil.ThrowIfStringParameterNullOrEmpty(tpdName, "tpdName");
            RmsUtil.ThrowIfKeyInformationInvalid(tpd, tpdName, out failureTarget);
            RmsUtil.ThrowIfSlcCertificateChainInvalid(tpd, tpdName, out failureTarget);
            RmsUtil.ThrowIfTpdCspDoesNotMatchCryptoMode(tpd, tpdName, out failureTarget);
            RmsUtil.ThrowIfTpdUsesUnauthorizedCryptoModeOnFips(tpd, tpdName, out failureTarget);
            string result;

            using (TrustedPublishingDomainPrivateKeyProvider trustedPublishingDomainPrivateKeyProvider = this.CreatePrivateKeyProvider(tpdName, tpd.m_ttdki, tpdFilePassword, out result, out failureTarget))
            {
                TrustedPublishingDomainImportUtilities tpdImportUtilities = this.CreateTpdImportUtilities(tpd, trustedPublishingDomainPrivateKeyProvider);
                RmsUtil.ThrowIfSlcCertificateDoesNotChainToProductionHeirarchyCertificate(tpdImportUtilities, tpdName, out failureTarget);
                if (this.refreshTemplatesSwitch)
                {
                    RmsUtil.ThrowIfUrlWasSpecified(this.intranetLicensingUrl, this.refreshTemplatesSwitch, out failureTarget);
                    RmsUtil.ThrowIfUrlWasSpecified(this.extranetLicensingUrl, this.refreshTemplatesSwitch, out failureTarget);
                    RmsUtil.ThrowIfUrlWasSpecified(this.intranetCertificationUrl, this.refreshTemplatesSwitch, out failureTarget);
                    RmsUtil.ThrowIfUrlWasSpecified(this.extranetCertificationUrl, this.refreshTemplatesSwitch, out failureTarget);
                    RmsUtil.ThrowIfDefaultWasSpecified(this.defaultSwitch, out failureTarget);
                    RmsUtil.ThrowIfImportedKeyIdAndTypeDoNotMatchExistingTPD(tpdName, tpd.m_ttdki.strID, existingTpdKeyId, out failureTarget);
                    RmsUtil.ThrowIfImportedKeyIdAndTypeDoNotMatchExistingTPD(tpdName, tpd.m_ttdki.strIDType, existingTpdKeyType, out failureTarget);
                }
                else
                {
                    RmsUtil.ThrowIfTpdDoesNotHavePrivateKeyIfInternalLicensingEnabled(tpd, tpdName, this.internalLicensingEnabled, out failureTarget);
                    if (!this.rmsOnlineSwitch)
                    {
                        RmsUtil.ThrowIfImportedTPDsKeyIdIsNotUnique(configurationSession, tpd.m_ttdki.strID, tpd.m_ttdki.strIDType, out failureTarget);
                    }
                    RmsUtil.ThrowIfIsNotWellFormedRmServiceUrl(this.intranetLicensingUrl, out failureTarget);
                    RmsUtil.ThrowIfIsNotWellFormedRmServiceUrl(this.extranetLicensingUrl, out failureTarget);
                    RmsUtil.ThrowIfIsNotWellFormedRmServiceUrl(this.intranetCertificationUrl, out failureTarget);
                    RmsUtil.ThrowIfIsNotWellFormedRmServiceUrl(this.extranetCertificationUrl, out failureTarget);
                }
                RmsUtil.ThrowIfRightsTemplatesInvalid(tpd.m_astrRightsTemplates, tpdName, tpdImportUtilities, this.refreshTemplatesSwitch ? existingTpdIntranetLicensingUrl : this.intranetLicensingUrl, this.refreshTemplatesSwitch ? existingTpdExtranetLicensingUrl : this.extranetLicensingUrl, out failureTarget);
            }
            return(result);
        }
Esempio n. 3
0
 public static void ThrowIfRightsTemplatesInvalid(IEnumerable <string> templates, string tpdName, TrustedPublishingDomainImportUtilities tpdImportUtilities, Uri intranetLicensingUrl, Uri extranetLicensingUrl, out object failureTarget)
 {
     failureTarget = null;
     if (templates != null)
     {
         RmsUtil.ThrowIfStringParameterNullOrEmpty(tpdName, "tpdName");
         RmsUtil.ThrowIfParameterNull(tpdImportUtilities, "tpdImportUtilities");
         RmsUtil.ThrowIfParameterNull(intranetLicensingUrl, "intranetLicensingUrl");
         RmsUtil.ThrowIfParameterNull(extranetLicensingUrl, "extranetLicensingUrl");
         foreach (string template in templates)
         {
             Uri  templateDistributionPoint;
             Uri  templateDistributionPoint2;
             Guid templateGuid;
             try
             {
                 DrmClientUtils.ParseTemplate(template, out templateDistributionPoint, out templateDistributionPoint2, out templateGuid);
             }
             catch (RightsManagementException innerException)
             {
                 failureTarget = tpdName;
                 throw new InvalidTemplateException(innerException);
             }
             RmsUtil.ThrowIfRightsTemplateInvalid(tpdImportUtilities, tpdName, template, templateGuid, out failureTarget);
             RmsUtil.ThrowIfTemplateDistributionPointInvalid(templateDistributionPoint, RmsUtil.TemplateDistributionPointType.Intranet, templateGuid, intranetLicensingUrl, extranetLicensingUrl, out failureTarget);
             RmsUtil.ThrowIfTemplateDistributionPointInvalid(templateDistributionPoint2, RmsUtil.TemplateDistributionPointType.Extranet, templateGuid, intranetLicensingUrl, extranetLicensingUrl, out failureTarget);
         }
     }
 }
Esempio n. 4
0
 public static void ThrowIfSlcCertificateDoesNotChainToProductionHeirarchyCertificate(TrustedPublishingDomainImportUtilities tpdImportUtilities, string tpdName, out object failureTarget)
 {
     RmsUtil.ThrowIfParameterNull(tpdImportUtilities, "tpdImportUtilities");
     RmsUtil.ThrowIfStringParameterNullOrEmpty(tpdName, "tpdName");
     try
     {
         failureTarget = null;
         tpdImportUtilities.ValidateTrustedPublishingDomain();
     }
     catch (ValidationException ex)
     {
         failureTarget = tpdName;
         throw new FailedToValidateSLCCertChainException(ex.ErrorCode);
     }
 }