![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Buenos días a tod@s
...Estoy intentando hacer mi primer envío de un RdF a la AEAT y, lo que menos me esperaba yo, es que me devolviese un error en HTML indicando que el certificado no es válido. He cogido el código HTML que me devuelve la AEAT en "responseFromServer" y lo he metido en un WebBrowser. Podéis verlo en la imagen adjunta. También adjunto todo el texto devuelto en la variable "responseFromServer". Básicamente lo que me dice es que el certificado electrónico no es válido ... ¡pero sí lo es! ![]() Es el certificado electrónico (micertificado.p12) emitido por la FNMT que utilizamos en mi empresa para conectarnos a la Seguridad Social, a Hacienda, etc. El código que uso es el siguiente: Código:
'Establecemos el protocolo TLS 1.2 ...
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
'4) Realizamos el envío al Webservice de la AEAT --------------------------------------------------------------------------
'4.1) Definimos el objeto "request" par conectarnos al webservice ...
varError = 40
Dim DireccionWebService As String = "https :// prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP" 'TEST (sin los espacios, que no me deja poner enlaces)
Dim request As HttpWebRequest = HttpWebRequest.Create(DireccionWebService)
request.Method = "POST"
request.ContentType = "text/xml; charset=utf-8"
request.Accept = "text/xml"
request.Timeout = 60000 'Le damos 60 segundos al servidor para contestar ...
'4.2) Añadimos el certificado de autenticación para la AEAT al objeto "request" ...
varError = 50
Dim miCertificado As String = "micertificado.p12"
Dim miContraseña As String = "micontraseña"
Dim cert As New System.Security.Cryptography.X509Certificates.X509Certificate2
cert.Import(miCertificado, miContraseña, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags.DefaultKeySet)
request.ClientCertificates.Add(cert)
'4.3) Preparamos la petición al webservice ...
varError = 60
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(lSOAPEnvelope)
request.ContentLength = byteArray.Length
Dim dataStream As Stream = request.GetRequestStream()
dataStream.Write(byteArray, 0, byteArray.Length)
dataStream.Close()
'4.4) Envío la petición y obtengo la respuesta ...
varError = 70
Dim response As HttpWebResponse = request.GetResponse()
dataStream = response.GetResponseStream()
Dim reader As New StreamReader(dataStream)
Dim responseFromServer As String = reader.ReadToEnd()
reader.Close() : reader = Nothing
dataStream.Close() : dataStream = Nothing
response.Close() : response = Nothing
'5) Devolvemos la respuesta -----------------------------------------------------------------------------------------------
varError = 90
pMSGRetorno = responseFromServer
Return True
La verdad es que no es la primera vez que hago peticiones con certificado a un WS y no me había pasado esto nunca. Muchísimas gracias! ![]() |
|
#2
|
|||
|
|||
|
Cita:
¿ Puedes ser que hayas renovado el certificado y no hayas desinstalado el caducado ? |
|
#3
|
|||
|
|||
|
Cita:
Y no lo tengo instalado en Windows, ni éste ni ninguno ... Como se ve en el código, lo cojo directamente de disco (archivo "micertificado.p12") ... |
|
#4
|
||||
|
||||
|
Yo probaría con los certificados "de prueba" de la AEAT.
Puedes solicitarlos. Más que nada para descartar. a) Si con el de prueba falla, es que hay algo en el código que no está bien. b) Si con el de prueba funciona, es que es algo del certificado que estás utilizando.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#5
|
|||
|
|||
|
Cita:
De momento no los han renovado, pero ya nos han dicho que se tendrán que volver a solicitar... |
|
#6
|
||||
|
||||
|
Cita:
En el caso de TicketBai, por ejemplo, al principio las aceptaban con errores y te avisaban de que tenías que renovarlo. Durante un tiempo te iba saliendo este aviso.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#7
|
|||
|
|||
|
Cita:
Donde se puede pedir el certificado de prueba? Nada. he encontrado el correo electronico: [email protected] Última edición por aposi fecha: 15-07-2025 a las 17:36:23. |
|
#8
|
||||
|
||||
|
https://www.clubdelphi.com/foros/sho...d.php?p=562700
Una rápida búsqueda en los foros... "Se piden a este correo, pides un certificado de pruebas, te mandaran un formulario, lo rellenas y ya te mandaran el certificado. [email protected]"
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#9
|
|||
|
|||
|
Pregunta de novato en problemas
Cita:
|
|
#10
|
||||
|
||||
|
Busca en los foros.
Hay un hilo dedicado a ello. Mandas un correo, te envían un formulario, lo rellenas, lo devuelves y te los envían.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Certificado o firma digital en archivo XML. AEAT | rafa1963 | General/Noticias | 2 | 22-04-2025 04:49:53 |
| IdSSL y certificado digital | el-otro | Internet | 1 | 03-01-2024 11:07:43 |
| REST CLIENT con certificado digital | keys | Internet | 11 | 24-10-2019 13:38:06 |
| Agregar Certificado Digital | carlos gonzalez | Varios | 1 | 16-08-2019 09:37:15 |
| Problemas con certificado digital | Paulao | Varios | 3 | 26-09-2011 17:00:46 |
|