'Could not create SSL/TLS secure channel'

Hi,

My VB.NET Winforms application has been working fine for 18 months or more until yesterday morning where it started to fail. This has continued through to today which is causing huge issues for my business. The current error message is ‘Could not create SSL/TLS secure channel’.

My code is literally just to save back to my backendless database with your .Save function through the SDK.

Try

            InitBackendless()

            Dim saveDict As Dictionary(Of String, Object) = New Dictionary(Of String, Object)()

            If objectId <> "" Then
                saveDict("objectId") = objectId
            End If

            saveDict("active") = active
            saveDict("address1") = address1
            saveDict("address2") = address2
            saveDict("address3") = address3
            saveDict("address4") = address4
            saveDict("postcode") = postcode
            saveDict("cancelled") = cancelled
            saveDict("complete") = complete
            saveDict("complete_date") = complete_date
            saveDict("contact") = contact
            saveDict("contact_email") = contact_email
            saveDict("contact_tel") = contact_tel
            saveDict("cust_id") = cust_id
            saveDict("customer") = customer
            saveDict("deleted") = deleted
            saveDict("engineer_special_instructions") = Strings.Left(engineer_special_instructions, 500)
            saveDict("engineer_id") = engineer_id
            saveDict("internal_sync") = internal_sync
            saveDict("failed") = failed
            saveDict("failure_reason") = failure_reason
            saveDict("fitment_date") = fitment_date
            saveDict("fitment_date_string") = fitment_date_string
            saveDict("fitment_time") = fitment_time
            saveDict("id") = id
            saveDict("job_id") = job_id
            saveDict("job_no") = job_no
            saveDict("no_vehicles") = no_vehicles
            saveDict("open_fitment") = open_fitment
            saveDict("rebooked") = rebooked
            saveDict("status") = status
            saveDict("type") = type

            saveDict = Backendless.Data.Of("fitments").Save(saveDict)

            objectId = saveDict("objectId")
            created = saveDict("created")
            updated = saveDict("updated")

        Catch ex As Exception

            'MsgBox("Error: Couldn't save fitment to engineer app database. Try saving again and if this problem persists please contact your admin.", vbOKOnly + vbCritical)
            CreateNotification("Error", "Error: Couldn't save fitment to engineer app database. Try saving again and if this problem persists please contact your admin.")

        End Try

Hi @Will_Tattersall !

Sorry for inconvenience. Our team is investagating this problem. Internal ticket for referece is BKNDLSS-24450

Regards, Andriy

Hi any update on this?

Hello, @Will_Tattersall.
What version of the .net sdk are you using? Additionaly provide your app id please.
We continue to search for possible causes

Regards, Nikita.

I’ve updated to latest SDK v6.2.0. App ID is 6AD51749-764C-EB4B-FFD6-A56D7EF5E200

@Will_Tattersall, I meant the .net version, not the backendless-sdk. Please clarify this.
We will try to resolve the issue as soon as possible.

Regards, Nikita.

4.5.2

I’ve just had this error too:

System.MissingFieldException: ‘Field not found: ‘Quobject.EngineIoClientDotNet.Modules.LogManager.Enabled’.’

@Will_Tattersall, thanks for the feedback. We are working to resolve these issues.

Hi, any joy on this? It’s become very urgent now that I get a fix in.

Hello, @Will_Tattersall.

We have updated the version of the certificate on the server. Could you please make changes to your code? You need to add the following line:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

Regards, Nikita.

Thank you, where do I put that line? Before or after the init or in a public place?

@Will_Tattersall, it doesn’t really matter. I would put it before the first Api call (it looks like this is your line saveDict = Backendless.Data.Of ("fitments"). Save (saveDict) )

@Will_Tattersall, let us know if your problem has been resolved.

Best Regards, Nikita.

Hi, I don’t have syntax for servicepointmanager, do I need to add a reference?

@Will_Tattersall, you need to include the System.Net library.

Hi, that hasn’t worked, I guess by | you mean or in VB.NET so:

ServicePointManager.SecurityProtocol = (SecurityProtocolType.Ssl3 Or SecurityProtocolType.Tls Or SecurityProtocolType.Tls11 Or SecurityProtocolType.Tls12)

saveDict = Backendless.Data.Of(“fitments”).Save(saveDict)

Are you getting an error on this line:
saveDict = Backendless.Data.Of(“fitments”).Save(saveDict) ?

Hi no it’s from this line:

Backendless.InitApp(My.Settings.BackendlessApplicationID, My.Settings.BackendlessDotNetAPIKey)

Both of those strings contain the correct value.

And I get this error:

Exception thrown: ‘System.MissingFieldException’ in Vue.exe

I’ve also put ServicePointManager.SecurityProtocol = (SecurityProtocolType.Ssl3 Or SecurityProtocolType.Tls Or SecurityProtocolType.Tls11 Or SecurityProtocolType.Tls12) before that line and it doesn’t work