Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
        }