public override void OnPublishFederationCertificate(FederationTrust federationTrust)
        {
            X509Certificate2 x509Certificate      = FederationCertificate.LoadCertificateWithPrivateKey(federationTrust.OrgNextPrivCertificate, base.WriteVerbose);
            string           rawBase64Certificate = Convert.ToBase64String(x509Certificate.GetRawCertData());

            using (ManageDelegation2Client manageDelegation = this.GetManageDelegation(federationTrust.ApplicationUri.OriginalString))
            {
                manageDelegation.UpdateAppIdCertificate(federationTrust.ApplicationIdentifier, rawBase64Certificate);
            }
        }
        public override void OnPublishFederationCertificate(FederationTrust federationTrust)
        {
            if (string.IsNullOrEmpty(federationTrust.AdministratorProvisioningId))
            {
                throw new NoAdministratorKeyFoundException(federationTrust.Name);
            }
            X509Certificate2 x509Certificate      = FederationCertificate.LoadCertificateWithPrivateKey(federationTrust.OrgNextPrivCertificate, base.WriteVerbose);
            string           rawBase64Certificate = Convert.ToBase64String(x509Certificate.GetRawCertData());

            using (ManageDelegation1Client manageDelegation = this.GetManageDelegation())
            {
                manageDelegation.UpdateAppIdCertificate(federationTrust.ApplicationIdentifier, federationTrust.AdministratorProvisioningId, rawBase64Certificate);
            }
        }
        public override void OnNewFederationTrust(FederationTrust federationTrust)
        {
            X509Certificate x509Certificate      = FederationCertificate.LoadCertificateWithPrivateKey(federationTrust.OrgPrivCertificate, base.WriteVerbose);
            string          rawBase64Certificate = Convert.ToBase64String(x509Certificate.GetRawCertData());
            AppIdInfo       appIdInfo            = null;

            using (ManageDelegation1Client manageDelegation = this.GetManageDelegation())
            {
                appIdInfo = manageDelegation.CreateAppId(rawBase64Certificate);
            }
            if (appIdInfo == null || string.IsNullOrEmpty(appIdInfo.AppId))
            {
                throw new LiveDomainServicesException(Strings.ErrorLiveDomainServicesUnexpectedResult(Strings.ErrorInvalidApplicationId));
            }
            federationTrust.ApplicationIdentifier       = appIdInfo.AppId.Trim();
            federationTrust.AdministratorProvisioningId = appIdInfo.AdminKey.Trim();
            base.WriteVerbose(Strings.NewFederationTrustSuccessAppId(FederationTrust.PartnerSTSType.LiveId.ToString(), federationTrust.ApplicationIdentifier));
        }
Example #4
0
        private void ProcessForCertificate(string thumbprint, string propertyName)
        {
            X509Certificate2 certificate = null;

            try
            {
                certificate = FederationCertificate.LoadCertificateWithPrivateKey(thumbprint, new WriteVerboseDelegate(base.WriteVerbose));
            }
            catch (LocalizedException exception)
            {
                base.WriteError(exception, ErrorCategory.InvalidData, null);
            }
            byte[] signature = FederatedDomainProofAlgorithm.GetSignature(certificate, this.DomainName.Domain);
            using (HashAlgorithm hashAlgorithm = new SHA512Cng())
            {
                byte[] inArray = hashAlgorithm.ComputeHash(signature);
                base.WriteObject(new FederatedDomainProof(this.DomainName, propertyName, thumbprint, Convert.ToBase64String(inArray)));
            }
        }