Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Registros de Facturacion y Eventos (XML) (https://www.clubdelphi.com/foros/forumdisplay.php?f=67)
-   -   Firmar con vb6 (https://www.clubdelphi.com/foros/showthread.php?t=97192)

Logan05 29-01-2025 14:54:37

Firmar con vb6
 
Hola compañeros

¿alguien está utilizando el activeX de Chilkat en vb6?

¿podíais darme alguna indicación de como lo estáis usando para firmar los SOAP? (algún trozo de código sería de mucha ayuda)

Estoy probando con la versión 10.1.2, cargo el certificado desde un .p12 o .pfx, pero no consigo usarlo para firmar el XML

Muchas gracias por vuestra ayuda!!!

Logan05 06-02-2025 09:53:16

Hola de nuevo compañeros,

después de leer muchos hilos parece que lo he conseguido, así que pongo el código por si a alguien más le es de utilidad, aunque no hay control de errores ni nada.

Código:

Private Sub CmdEnvioXML_Click()
 Dim url As String
  url = "https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP"
 Dim socket As New ChilkatSocket
  success = socket.SetSslClientCertPfx("certificado.pfx", "Clave")
  success = socket.Connect(url, 443, True, 5000)
 Dim rest As New ChilkatRest
  success = rest.UseConnection(socket, True)
 Dim dat As String
 Dim stringBuilder As New ChilkatStringBuilder
  success = stringBuilder.LoadFile("Factura_de_Prueba.xml", "utf-8")
  dat = stringBuilder.GetAsString()
  success = rest.SendReqStringBody("POST", url, dat)
  success = rest.ReadResponseHeader()
  Text1.Text = "success: " & success & vbCrLf & vbCrLf & vbCrLf
  Text1.Text = Text1.Text & "ReadRespBodyString: " & rest.ReadRespBodyString & vbCrLf & vbCrLf & vbCrLf
End Sub

Un saludo!!

Neftali [Germán.Estévez] 06-02-2025 11:19:52

Cita:

Empezado por Logan05 (Mensaje 561778)
después de leer muchos hilos parece que lo he conseguido, así que pongo el código por si a alguien más le es de utilidad, aunque no hay control de errores ni nada.
Un saludo!!

Gracias.
Actualizo el mensaje #2 con la recopilacion de códigos, con este en VB6.

batuzail 07-02-2025 14:39:25

Hola,
Yo hago el envío así:

Código:

Dim Respuesta As New ChilkatHttpResponse
Dim http As New ChilkatHttp
Dim success As Long, strErr As String
  http.ClearHeaders
    http.setRequestHeader "Content-Type", "text/xml"
    success = http.SetSslClientCertPfx(GetRutaCertificado, GetPasswordCertificado)
   
    If (success = False) Then
        strErr = http.LastErrorText
    End If
   
    Set Respuesta = http.PText("POST", url, xml.GetXml, "utf-8", "application/xml; charset=utf-8", 0, 0)



La franja horaria es GMT +2. Ahora son las 21:46:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi