public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req, ILogger log) { log.LogInformation("Extracting certificate key from PFX"); var base64 = await CertificateWebUtil.RetrievePFXFromBodyInBase64(req); var pfx = new Chilkat.Pfx(); pfx.LoadPfxEncoded(base64, "base64", ""); var key = pfx.ToPemEx(false, false, true, true, "", ""); return(new OkObjectResult(key)); }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req, ILogger log) { log.LogInformation("Extracting CA certificates from PFX"); var base64 = await CertificateWebUtil.RetrievePFXFromBodyInBase64(req); var pfx = new Chilkat.Pfx(); pfx.LoadPfxEncoded(base64, "base64", ""); var pemString = pfx.ToPemEx(false, true, false, false, "", ""); var caCertsList = pemString.Split("-----END CERTIFICATE-----\r\n") .Skip(1) .Where(c => !string.IsNullOrEmpty(c)) .Select(c => c + "-----END CERTIFICATE-----\r\n"); var caCertStr = string.Join("", caCertsList); return(new OkObjectResult(caCertStr)); }