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 })); }
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)); }
public async Task <IActionResult> CancelCertificateRequest(UpdateCertificateRequestModel model) { var op = await keyVaultAdminService.CancelCsrAsync(model.VaultName, model.CertificateName); return(RedirectToAction(nameof(Details), new { id = model.VaultName })); }