public IHttpActionResult GetCadenaOriginal([FromBody] RequestCadenaOriginal request) { string CadenaOriginal = String.Empty; try { byte[] bytesCertificado = Convert.FromBase64String(request.cert); byte[] bytesLlave = Convert.FromBase64String(request.key); FirmaDigital Firma = new FirmaDigital(bytesCertificado, bytesLlave, request.password); CadenaOriginal = String.Format("{0}|{1}|{2}|{3}", Firma.GetDatosNombre(), Firma.GetDatosRfc(), Firma.GetDatosSerie(), Firma.GetDatosAutoridad()); } catch (Exception ex) { return(BadRequest(ex.Message)); } return(Ok(CadenaOriginal)); }
public static async Task <string> GetCadenaOriginal(string rutaCer, string rutaKey, string Password) { string CadenaOriginal = String.Empty; byte[] datosCer = null; byte[] datosKey = null; using (FileStream cer = File.Open(rutaCer, FileMode.Open)) { datosCer = new byte[cer.Length]; cer.Read(datosCer, 0, datosCer.Length); } using (FileStream key = File.Open(rutaKey, FileMode.Open)) { datosKey = new byte[key.Length]; key.Read(datosKey, 0, datosKey.Length); } using (HttpClient Cliente = new HttpClient()) { Cliente.BaseAddress = new Uri(ConfigurationManager.AppSettings["RutaWebApi"]); RequestCadenaOriginal peticion = new RequestCadenaOriginal { cert = Convert.ToBase64String(datosCer), key = Convert.ToBase64String(datosKey), password = Password }; string ruta = Cliente.BaseAddress + "Firma"; HttpResponseMessage request = await Cliente.PostAsync(ruta, new StringContent(JsonConvert.SerializeObject(peticion), Encoding.UTF8, "application/json")); if (!request.IsSuccessStatusCode) { string razon = await request.Content.ReadAsStringAsync(); CadenaOriginal = String.Format("{0} {1}", request.ReasonPhrase, razon); } else { CadenaOriginal = await request.Content.ReadAsStringAsync(); } } return(CadenaOriginal); }