![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Buenos dias a todos.
Gracias en primer lugar por vuestra a ayuda. Pude desarrollar el envio TicketBai en su momento, gracias a este foro. Tengo una duda al enviar. Trabajo con C# (Visual Studio 2015). Cada vez que trato de enviar, obtengo siempre una respuesta en HTML, advirtiéndome que "el certificado no es correcto, o no se ha seleccionado correctamente" - Error 403. He instalado el certificado en todos los navegadores que tengo, en el almacén de "Personal", pero a la hora de enviar, selecciono dicho certificado (es el mío personal de la FNMT - y es funcional dado que entro en las sedes perfectamente, he realizado la declaración con el mismo, etc...) .... pero la respuesta a través del código es un HTML (no un XML) con ese error 403. ¿Alguien ha logrado enviar sin problemas, teniendo el certificado instalado en el navegador? ¿Qué puede estar ocurriendo para que no esté validando mi certificado? Mil gracias de antemano. Un saludo |
|
#2
|
|||
|
|||
|
Cita:
|
|
#3
|
|||
|
|||
|
El certificado no es correcto, o no se ha seleccionado correctamente
Cita:
Entiendo que con lo de "cir", te refieres al nif. ¿No? El certificado es el mío personal - de la FNMT - y las pruebas las estoy realizando con un emisor de facturas con mi nombre y NIF. Pero el error, es el que comento con código 403 - El certificado no es correcto, o no se ha seleccionado correctamente. Creo que el error, no es en la validación del XML como tal, porque ni llega a validarlo. No devuelve un XML de respuesta de error... sino un HTML, como código de error de ese tipo. Les consulté, y me contestaron que en ese tipo de errores, devolvían un HTML (la misma página de error que si conectas a sus servicios, y no te validas). Al existir un error previo a la validación del XML (de certificado según ellos), creo que ni siquera valida Y es que no se me ocurre nada más, ya que entiendo que solamente hay que instalar dicho certificado en el almacén Personal. Al menos en TicketBai, funciona correctamente así desde siempre. Muchas gracias |
|
#4
|
|||
|
|||
|
Cita:
Entonces no se me ocurre otra cosa que no sea que hay algún error en la llamada desee donde lees el certificad, que el firewall esté cortando algo o tengas desactivado algo de llamadas tsl.. |
|
#5
|
|||
|
|||
|
otra curiosidad
Sobre lo que acaban de publicar en el boe:
sobre el hash anterior lo que tiene que ir en la HuellaAnterior: Cita:
|
|
#6
|
|||
|
|||
|
A ver si alguien puede consultar esto
Hola, los que trabajamos en programas de escritorio tenemos aqui un problema:
Cita:
Por favor que alguien haga la consulta, yo los tengo bombardeados. Me respondo: Si no hay conexion ya hay que marcar incidencia pase lo que pase. |
|
#7
|
|||
|
|||
|
Cita:
|
|
#8
|
|||
|
|||
|
Cita:
Cita:
Se me ocurre que si no puedo verificar la fecha que no emita la factura aunque deje facturar hasta que se solucione y pongo el mensaje ese que dicen que hay problemas. Última edición por ermendalenda fecha: 28-10-2024 a las 12:17:45. |
|
#9
|
|||
|
|||
|
Cita:
Solucuionado. Lo de 1 minuto solo es obligatorio para los NO VERIFACTU, no es aplicable a los VERIFACTU |
|
#10
|
|||
|
|||
|
otra duda
A ver como interpretais este punto en distintas instalaciones, por ejemplo tengo una instalacion que tiene varias empresas y los demas solo 1. COn lo cual en la que tiene varias empresas solo enviara como 1. Pero en este punto habla como "sistema informatico", entonces ya me ha hecho un lio, sistema informatico es individual, tengo que hacerf una declaracion responsable por cada sif?, la respuesta obvia es que "No", pero os pasa como a mi que quedan dudas?
Cita:
|
|
#11
|
||||
|
||||
|
Cita:
En el App.config teneis que poner que usais la identificacion con certificado, asi: Cita:
Código:
<client>
<endpoint address="https://www1.agenciatributaria.gob.es/wlpl/BURT-JDIT/ws/VNifV2SOAP"
binding="basicHttpBinding" bindingConfiguration="VNifV2SoapBinding"
contract="ChecaNifsActivos.VNifV2" name="VNifPort1" />
<endpoint address="https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP"
binding="basicHttpBinding" bindingConfiguration="sfVerifactu"
contract="ServicioVerifactu.sfPortTypeVerifactu" name="SistemaVerifactuPruebas" />
<endpoint address="https://prewww10.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP"
binding="basicHttpBinding" bindingConfiguration="sfVerifactu1"
contract="ServicioVerifactu.sfPortTypeVerifactu" name="SistemaVerifactuSelloPruebas" />
</client>
<bindings>
<basicHttpBinding>
<binding name="VNifV2SoapBinding">
<security mode="Transport">
<transport clientCredentialType="Certificate" />
</security>
</binding>
<binding name="VNifV2SoapBinding1" />
<binding name="sfVerifactu">
<security mode="Transport">
<transport clientCredentialType="Certificate" />
</security>
</binding>
<binding name="sfVerifactu1">
<security mode="Transport">
<transport clientCredentialType="Certificate" />
</security>
</binding>
<binding name="sfVerifactu2" />
<binding name="sfRequerimiento" />
</basicHttpBinding>
<customBinding>
<binding name="sfVerifactu">
<textMessageEncoding messageVersion="Soap11" writeEncoding="utf-8" />
<httpsTransport />
</binding>
</customBinding>
</bindings>
Código:
public static X509Certificate2 ElegirCertificado()
{
try
{
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
X509Certificate2Collection fcollection = (X509Certificate2Collection)collection.Find(X509FindType.FindByTimeValid, DateTime.Now, false);
X509Certificate2Collection scollection = X509Certificate2UI.SelectFromCollection(fcollection, "Selección de Certificados", "Seleccione un certificado de la lista para firmar la factura electrónica", X509SelectionFlag.SingleSelection);
X509Certificate2Enumerator Certificado = scollection.GetEnumerator();
X509Certificate2 cert = new X509Certificate2();
if (scollection.Count > 0)
{
X509Certificate2Enumerator en = scollection.GetEnumerator();
en.MoveNext();
cert = en.Current;
if (DateTime.Now > cert.NotAfter)
{
throw new Exception("Certificado caducado");
}
else
{
return cert;
}
}
if (fcollection.Count == 0)
{
MessageBox.Show("No hay certificados electrónicos instalados en tu equipo");
}
else
{
if (scollection.Count == 0)
{
MessageBox.Show("No has seleccionado ningún certificado");
}
}
store.Close();
var temp = scollection.OfType<X509Certificate2>();
var cert1 = scollection.OfType<X509Certificate2>().Where(x => x.Subject == "CN=FNMT-RCM").First(); // + Program.configTaller.NombreTaller).First();
return cert;
}
catch (Exception ex)
{
// throw ex;
}
//X509Store store = new X509Store(StoreLocation.CurrentUser);
//store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
//X509Certificate2Collection certificates = store.Certificates;
//X509Certificate2Collection foundCertificates = certificates.Find(X509FindType.FindByTimeValid, DateTime.Now, false);
//var cert = foundCertificates.OfType<X509Certificate>().Where(x => x.Subject == "CN="+Program.configTaller.NombreTaller).First();
return null;
}
Luego simplemente lo exportamos a bytes con una contraseña por nuestra seguridad. Código:
var certificado = ConfigDB.ElegirCertificado();// CertificadoSeleccionado();
if(null != certificado)
{
string caducidad = certificado.GetExpirationDateString();
Program.certificado = certificado.Export(X509ContentType.Cert, Program.passcertificado);<-- Este es el password que usaremos para guardar/usar el certificado.
txtCaducidad.Text = caducidad;
ConfigDB.ActualizarCertificado(1, Program.certificado, caducidad);
}
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Hijo de Informáticos | gluglu | Humor | 3 | 13-03-2007 11:05:35 |
| Adictos informaticos ... | Trigger | Humor | 2 | 11-10-2004 12:18:32 |
| Nosotros los Informáticos | Trigger | Humor | 1 | 10-10-2004 14:58:09 |
| Patrón de los Informáticos. | obiwuan | Varios | 20 | 10-09-2003 14:44:54 |
| Chistes Informaticos | jhonny | Humor | 2 | 11-08-2003 21:59:09 |
|