Exemplo n.º 1
0
        public async Task <IActionResult> MergeCertificate(UpdateCertificateRequestModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(nameof(CertificateRequest), model));
            }

            byte[] data;
            using (var ms = new MemoryStream())
            {
                // get file data
                await model.Certificate.CopyToAsync(ms);

                ms.Position = 0;
                data        = ms.ToArray();
            }

            try
            {
                await keyVaultAdminService.MergeCertificate(model.VaultName, model.CertificateName, data);
            }
            catch (Exception e)
            {
                ModelState.AddModelError("", e.Message);
                return(View(nameof(CertificateRequest), model));
            }

            return(RedirectToAction(nameof(Details), new { id = model.VaultName }));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> CertificateRequest(string id, string certificateName)
        {
            var vault = await keyVaultAdminService.GetVaultAsync(id);

            var op = await keyVaultAdminService.GetCertificateOperation(vault.VaultUri, certificateName);

            string str = null;

            if (op.Properties.Csr?.Length > 0)
            {
                str = Crypt32.CryptBinaryToString(op.Properties.Csr, true, true);
            }
            var model = new UpdateCertificateRequestModel
            {
                CertificateName = certificateName,
                VaultName       = id,
                Csr             = str
            };

            return(View(model));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> CancelCertificateRequest(UpdateCertificateRequestModel model)
        {
            var op = await keyVaultAdminService.CancelCsrAsync(model.VaultName, model.CertificateName);

            return(RedirectToAction(nameof(Details), new { id = model.VaultName }));
        }