コード例 #1
0
ファイル: AmqpConnection.cs プロジェクト: njkowlski/CFX
        protected bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
        {
            AppLog.Debug(string.Format("Validating remote certificate. Subject: {0}, Policy errors: {1}", certificate.Subject, sslPolicyErrors));

            if (OnValidateCertificate != null)
            {
                // Validate Certificate Externally
                ValidateCertificateResult result = OnValidateCertificate(NetworkUri, certificate, chain, sslPolicyErrors);
                if (result == ValidateCertificateResult.Valid)
                {
                    return(true);
                }
                if (result == ValidateCertificateResult.Invalid)
                {
                    return(false);
                }
            }

            if (certificate != null && Certificate != null)
            {
                byte[] key1 = certificate.GetPublicKey();
                byte[] key2 = Certificate.GetPublicKey();
                if (key1.SequenceEqual(key2))
                {
                    return(true);
                }
            }

            return(false);
        }
コード例 #2
0
        bool ValidateRequestServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
        {
            ValidateCertificateResult result = ValidateCertificateResult.NotValidated;

            if (certificate != null && OnValidateCertificate != null)
            {
                result = OnValidateCertificate(CurrentRequestTargetUri, certificate, chain, sslPolicyErrors);
                if (result == ValidateCertificateResult.Invalid)
                {
                    return(false);
                }
            }

            return(true);
        }