techknight Well-Known Member Licensed User Longtime User Apr 17, 2019 #1 So, I have a specific device running Android 4.4.4 which I cannot update or change for any reason. I am developing an App for it which uses WSS, and I cannot get WSS to work. I found this thread: https://www.b4x.com/android/forum/threads/ssl-websocket-client.88472/page-2#post-560044 But, it requires the google play services which this device does NOT have or use, it has no google services at all outside of the OS. I can install APKs to the device, etc just like any normal device. But its a Sign controller so I cant actually click buttons or anything along those lines. its just an output device only. So given that, How do I get the WSS to work? I attached the Error message screenshot I get when I run the network provider program. Any ideas?
So, I have a specific device running Android 4.4.4 which I cannot update or change for any reason. I am developing an App for it which uses WSS, and I cannot get WSS to work. I found this thread: https://www.b4x.com/android/forum/threads/ssl-websocket-client.88472/page-2#post-560044 But, it requires the google play services which this device does NOT have or use, it has no google services at all outside of the OS. I can install APKs to the device, etc just like any normal device. But its a Sign controller so I cant actually click buttons or anything along those lines. its just an output device only. So given that, How do I get the WSS to work? I attached the Error message screenshot I get when I run the network provider program. Any ideas?
Erel B4X founder Staff member Licensed User Longtime User Apr 18, 2019 #2 You need to configure the server to support an older version of TLS (TLS v1.0). Have you tried to use a custom trust manager that accepts all certificates? I don't think that it is will help here but it is worth a try (https://www.b4x.com/android/forum/t...rtification-path-not-found.94174/#post-596237). Upvote 0
You need to configure the server to support an older version of TLS (TLS v1.0). Have you tried to use a custom trust manager that accepts all certificates? I don't think that it is will help here but it is worth a try (https://www.b4x.com/android/forum/t...rtification-path-not-found.94174/#post-596237).
techknight Well-Known Member Licensed User Longtime User Apr 18, 2019 #3 Erel said: Have you tried to use a custom trust manager that accepts all certificates? I don't think that it is will help here but it is worth a try (https://www.b4x.com/android/forum/t...rtification-path-not-found.94174/#post-596237). Click to expand... Is there how-to for that? Also is this for the Server side or the Client side? Because I have no control of the server, I am trying to integrate my app/software into an existing API/System that is in place which uses websockets. Upvote 0
Erel said: Have you tried to use a custom trust manager that accepts all certificates? I don't think that it is will help here but it is worth a try (https://www.b4x.com/android/forum/t...rtification-path-not-found.94174/#post-596237). Click to expand... Is there how-to for that? Also is this for the Server side or the Client side? Because I have no control of the server, I am trying to integrate my app/software into an existing API/System that is in place which uses websockets.
OliverA Expert Licensed User Longtime User Apr 18, 2019 #4 You may need to set up a proxy for the device if the device cannot be upgraded or the server downgraded. Better explanation: https://security.stackexchange.com/a/119817 Upvote 0
You may need to set up a proxy for the device if the device cannot be upgraded or the server downgraded. Better explanation: https://security.stackexchange.com/a/119817
Erel B4X founder Staff member Licensed User Longtime User Apr 19, 2019 #5 techknight said: Is there how-to for that? Click to expand... Code: Copy Dim ws1 As WebSocket Dim cs As CustomTrustManager cs.InitializeAcceptAll ws1.Initialize("ws") ws1.SetCustomSSLTrustManager(cs) Depends on Net library. It will probably won't help in this case. Upvote 0
techknight said: Is there how-to for that? Click to expand... Code: Copy Dim ws1 As WebSocket Dim cs As CustomTrustManager cs.InitializeAcceptAll ws1.Initialize("ws") ws1.SetCustomSSLTrustManager(cs) Depends on Net library. It will probably won't help in this case.
techknight Well-Known Member Licensed User Longtime User Apr 19, 2019 #6 Erel said: Code: Copy Dim ws1 As WebSocket Dim cs As CustomTrustManager cs.InitializeAcceptAll ws1.Initialize("ws") ws1.SetCustomSSLTrustManager(cs) Depends on Net library. It will probably won't help in this case. Click to expand... It worked for the API server! Not your server though. Upvote 0
Erel said: Code: Copy Dim ws1 As WebSocket Dim cs As CustomTrustManager cs.InitializeAcceptAll ws1.Initialize("ws") ws1.SetCustomSSLTrustManager(cs) Depends on Net library. It will probably won't help in this case. Click to expand... It worked for the API server! Not your server though.