예제 #1
0
        void trans_SecureUpdate(object sender, FmdcEventArgs e)
        {
            switch (e.Action)
            {
            case Actions.SecuritySelectLocalCertificate:
                LocalCertificationSelectionInfo lc = e.Data as LocalCertificationSelectionInfo;
                if (lc != null)
                {
                    //string file = System.AppDomain.CurrentDomain.BaseDirectory + "FlowLib.cer";
                    //lc.SelectedCertificate = X509Certificate.CreateFromCertFile(file);
                    //e.Data = lc;
                }

                break;

            case Actions.SecurityValidateRemoteCertificate:
                CertificateValidationInfo ct = e.Data as CertificateValidationInfo;
                if (ct != null)
                {
                    ct.Accepted = true;
                    e.Data      = ct;
                    e.Handled   = true;
                }
                break;
            }
        }
예제 #2
0
        protected bool OnRemoteCertificateValidation(
            object sender,
            X509Certificate certificate,
            X509Chain chain,
            SslPolicyErrors sslPolicyErrors)
        {
            CertificateValidationInfo info = new CertificateValidationInfo(certificate, chain, sslPolicyErrors);
            FmdcEventArgs             args = new FmdcEventArgs(Actions.SecurityValidateRemoteCertificate, info);

            SecureUpdate(this, args);
            info = args.Data as CertificateValidationInfo;
            if (args.Handled)
            {
                if (info == null)
                {
                    return(false);
                }
                return(info.Accepted);
            }
            else
            {
                // If developer havnt added logic to support this. Assume Accepted.
                return(true);
            }
        }
예제 #3
0
        void hubConnection_SecureUpdate(object sender, FmdcEventArgs e)
        {
            CertificateValidationInfo info = e.Data as CertificateValidationInfo;

            if (info != null)
            {
                info.Accepted = true;
            }
        }
예제 #4
0
 void hubConnection_SecureUpdate(object sender, FmdcEventArgs e)
 {
     switch (e.Action)
     {
     case Actions.SecurityValidateRemoteCertificate:
         CertificateValidationInfo ct = e.Data as CertificateValidationInfo;
         if (ct != null)
         {
             ct.Accepted = true;
             e.Data      = ct;
             e.Handled   = true;
         }
         break;
     }
 }
예제 #5
0
        protected bool OnRemoteCertificateValidation(
            object sender,
            X509Certificate certificate,
            X509Chain chain,
            SslPolicyErrors sslPolicyErrors)
        {
            CertificateValidationInfo info = new CertificateValidationInfo(certificate, chain, sslPolicyErrors);
            FmdcEventArgs             args = new FmdcEventArgs(Actions.SecurityValidateRemoteCertificate, info);

            SecureUpdate(this, args);
            info = args.Data as CertificateValidationInfo;
            if (info == null)
            {
                return(false);
            }
            return(info.Accepted);
        }