/// <summary> /// Inicializa el certificado a utilizar para transmitir la /// petición a la aeat. /// </summary> /// <param name="certRef">Ruta de certificado para la presentación, en caso de que se utilice uno externo.</param> /// <param name="certClave">Contraseña del certificado.</param> private void InicializaCertificado(string certRef, string certClave) { _Certificado = Certificado.Cargar(certRef, certClave); _CertificadoTitular = Certificado.Titular(_Certificado); if (_CertificadoTitular == null) { throw new Exception(Errores.MostrarMensaje("Peticion.000", $"{_Certificado.Subject}")); } }
/// <summary> /// Prueba la descarga con certificado. /// </summary> /// <param name="enlace">Url del pdf a descargar.</param> /// <returns>Datos binarios de la respuesta.</returns> internal virtual byte[] DescargaPdfEnlace(string enlace) { var httpWebRequest = (HttpWebRequest)WebRequest.Create(enlace); httpWebRequest.Method = "GET"; httpWebRequest.ClientCertificates.Add(Certificado.Cargar()); var httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse(); byte[] result = null; using (var stream = httpWebResponse.GetResponseStream()) using (BinaryReader lectorBinario = new BinaryReader(stream)) result = lectorBinario.ReadBytes((int)httpWebResponse.ContentLength); return(result); }