Webrequest zur Überprüfung von USTID

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Holistiker.

    Webrequest zur Überprüfung von USTID

    Hallo Zusammen,

    ich versuche gerade verzweifelt die Schnittstelle zum Bundeszentralamt für Steuern aufzubauen damit ich automatisiert UST-ID Nummern auf Gültigkeit abfragen kann.

    Die Seite ist diese hier: evatr.bff-online.de/eVatR/xmlrpc/

    Ich bekomme leider immer, egal was ich mache, den Doofen Fehler zurück:

    An error occurred: Die Anfrage wurde abgebrochen: Es konnte kein geschützter SSL/TLS-Kanal erstellt werden


    Hier mal mein Code: (Die USTID's habe ich durch "*" ersetzt

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. ServicePointManager.ServerCertificateValidationCallback = AddressOf AcceptAllCertifications
    3. MsgBox(WRequest("https://evatr.bff-online.de/", "POST", "UstId_1=DE******&UstId_2=FR******&Firmenname=&Ort=&PLZ=&Strasse=&Druck=nein"))
    4. End Sub
    5. Public Function AcceptAllCertifications(ByVal sender As Object, ByVal certification As System.Security.Cryptography.X509Certificates.X509Certificate, ByVal chain As System.Security.Cryptography.X509Certificates.X509Chain, ByVal sslPolicyErrors As System.Net.Security.SslPolicyErrors) As Boolean
    6. Return True
    7. End Function
    8. Function WRequest(URL As String, method As String, POSTdata As String) As String
    9. Dim responseData As String = ""
    10. Try
    11. Dim cookieJar As New Net.CookieContainer()
    12. Dim hwrequest As Net.HttpWebRequest = Net.WebRequest.Create(URL)
    13. hwrequest.CookieContainer = cookieJar
    14. hwrequest.Accept = "*/*"
    15. hwrequest.AllowAutoRedirect = True
    16. hwrequest.UserAgent = "http_requester/0.1"
    17. hwrequest.Timeout = 60000
    18. hwrequest.Method = method
    19. If hwrequest.Method = "POST" Then
    20. hwrequest.ContentType = "application/x-www-form-urlencoded"
    21. Dim encoding As New Text.ASCIIEncoding()
    22. Dim postByteArray() As Byte = encoding.GetBytes(POSTdata)
    23. hwrequest.ContentLength = postByteArray.Length
    24. Dim postStream As IO.Stream = hwrequest.GetRequestStream()
    25. postStream.Write(postByteArray, 0, postByteArray.Length)
    26. postStream.Close()
    27. End If
    28. Dim hwresponse As Net.HttpWebResponse = hwrequest.GetResponse()
    29. If hwresponse.StatusCode = Net.HttpStatusCode.OK Then
    30. Dim responseStream As IO.StreamReader =
    31. New IO.StreamReader(hwresponse.GetResponseStream())
    32. responseData = responseStream.ReadToEnd()
    33. End If
    34. hwresponse.Close()
    35. Catch e As Exception
    36. responseData = "An error occurred: " & e.Message
    37. End Try
    38. Return responseData
    39. End Function


    Kann sich da jemand einen Reim drauf bilden?

    Ich versteh es nicht :S :S

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Deine verwendete Version vom .Net Framework unterstützt die vom Server verwendeten Versionen von TLS nicht bzw. hat diese nicht aktiviert.
    Versuch mal folgendes: ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
    TLS stellt den Wert auf TLS1.0 und SSL sind noch ältere Protokolle, die Website unterstützt aber nur TLS1.2 also kann das nicht funktionieren.
    Welche Version vom .Net Framework benutzt du denn? Ich würde vermuten 4.0, das ist schon seit 2016 tot.