Exemplo n.º 1
0
        private void Create_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                model.Validate();

                Mouse.OverrideCursor = Cursors.Wait;

                var crt = X509.CreateCertificate(model);

                using (var certProvider = new CertProvider()
                {
                    AppendOnly = true
                })
                {
                    certProvider.IsRoot = !model.SignByCertificateAuthority;
                    if (model.SignByCertificateAuthority)
                    {
                        certProvider.IssuerThumbprint = model.CertificateAuthority;
                    }
                    certProvider.Append(crt);
                }

                model.Value = crt;
                Result      = model;
                Close();
            }
            catch (Exception ex)
            {
                if (ex is ValueException vex)
                {
                    MessageBox.Show(vex.Message, "Invalid Value", MessageBoxButton.OK, MessageBoxImage.Warning);
                    this.Focus(vex.PropertyName);
                }
                else
                {
                    MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
            finally
            {
                Mouse.OverrideCursor = null;
            }
        }