private X509Certificate2 GetFederatedExchangeCertificates()
        {
            if (!string.IsNullOrEmpty(this.Thumbprint))
            {
                this.Thumbprint = FederationCertificate.UnifyThumbprintFormat(this.Thumbprint);
                try
                {
                    X509Certificate2 exchangeFederationCertByThumbprint = FederationCertificate.GetExchangeFederationCertByThumbprint(this.Thumbprint, new WriteVerboseDelegate(base.WriteVerbose));
                    if (exchangeFederationCertByThumbprint == null)
                    {
                        throw new FederationCertificateInvalidException(Strings.ErrorCertificateNotFound(this.Thumbprint));
                    }
                    FederationCertificate.ValidateCertificate(new ExchangeCertificate(exchangeFederationCertByThumbprint), NewFederationTrust.IsExchangeDataCenter());
                    return(exchangeFederationCertByThumbprint);
                }
                catch (LocalizedException exception)
                {
                    base.WriteError(exception, ErrorCategory.InvalidArgument, null);
                    goto IL_7C;
                }
            }
            base.WriteError(new FederationCertificateInvalidException(Strings.ErrorFederationCertificateNotSpecified), ErrorCategory.InvalidOperation, null);
IL_7C:
            return(null);
        }
Example #2
0
        private void ValidateNextCertificate()
        {
            this.Thumbprint      = FederationCertificate.UnifyThumbprintFormat(this.Thumbprint);
            this.nextCertificate = FederationCertificate.GetExchangeFederationCertByThumbprint(this.Thumbprint, new WriteVerboseDelegate(base.WriteVerbose));
            ExchangeCertificate exchangeCertificate = new ExchangeCertificate(this.nextCertificate);

            FederationCertificate.ValidateCertificate(exchangeCertificate, this.IsDatacenter);
            this.ValidateUniqueSki(exchangeCertificate, this.DataObject.OrgPrevCertificate);
            this.ValidateUniqueSki(exchangeCertificate, this.DataObject.OrgCertificate);
        }