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)); }
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))); } }