public void Add(ClientCertificateModel model)
        {
            var doc = new ClientCertificate
                          {
                              UserName = model.UserName,
                              Thumbprint = model.Thumbprint,
                              Description = model.Description
                          };

            _session.Store(doc);
        }
        public void Delete(ClientCertificateModel certificateModel)
        {
            using (var entities = IdentityServerConfigurationContext.Get())
            {
                var record =
                    (from entry in entities.ClientCertificates
                     where entry.UserName.Equals(certificateModel.UserName, StringComparison.OrdinalIgnoreCase) &&
                           entry.Thumbprint.Equals(certificateModel.Thumbprint, StringComparison.OrdinalIgnoreCase)
                     select entry)
                    .Single();

                entities.ClientCertificates.Remove(record);
                entities.SaveChanges();
            }
        }
        public void Add(ClientCertificateModel model)
        {
            using (var entities = IdentityServerConfigurationContext.Get())
            {
                var entity = new ClientCertificateEntity
                {
                    UserName = model.UserName,
                    Thumbprint = model.Thumbprint,
                    Description = model.Description
                };

                entities.ClientCertificates.Add(entity);
                entities.SaveChanges();
            }
        }
        public ActionResult Add(AddClientCertificateModel model)
        {
            if (!ModelState.IsValid)
            {
                return View();
            }

            var clientCert = new ClientCertificateModel
            {
                UserName = model.UserName,
                Description = model.Description
            };

            if (model.CertificateUpload != null && model.CertificateUpload.ContentLength > 0)
            {
                var bytes = new byte[model.CertificateUpload.InputStream.Length];
                model.CertificateUpload.InputStream.Read(bytes, 0, bytes.Length);

                clientCert.Thumbprint = new X509Certificate2(bytes).Thumbprint;
            }
            else
            {
                if (string.IsNullOrWhiteSpace(model.Thumbprint))
                {
                    ModelState.AddModelError("", "No certificate (or thumbprint) specified");
                    return View();
                }

                clientCert.Thumbprint = model.Thumbprint;
            }

            try
            {
                _repository.Add(clientCert);
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.InnerException.Message);
                return View("Add");
            }

            return RedirectToAction("Index");
        }
 public void Delete(ClientCertificateModel model)
 {
     var doc = _session.Load<ClientCertificate>(model.Id);
     _session.Delete(doc);
 }