All posts tagged with android

Android VPN to Windows Server 2012

May 21, 2019 - Søren Alsbjerg Hørup

I recently acquired an Android tablet intended to be used for work related purposes. The tablet is connected to the Internet, but not the company wide Intranet, making it a bit hard to synchronize documents, etc.

A Company VPN is provided, running ontop Windows 2012. This VPN allowing Intranet access when connected. Only two protocols are supported by the setup: IKEv2 PEAP and SSTP.

Internet Key Exchange version 2.0 (IKEv2) is a protocol used to setup a secure connection between two entities using the Internet Protocol Security (IPSec) protocol suite. IPSec is on the Network layer, alongside IPv4 and IPv6.

Secure Socket Tunneling Protocol (SSTP) is also a protocol used to setup a secure connection between two entities. This protocol is an application level protocol, building ontop of SSL/TLS. Since the protocol builds on-top of TCP, it is more prone to performance problems due to the throttling nature of TCP, which is not the case with IPSec since the tunnel is maintained using Network level datagrams. SSTP is however a very ‘friendly’ protocol in the sense that it can punch through nearly all firewalls, due to it using a single TCP port: 443 which also the case for normal HTTPS.

While IKEv2 is natively supported by Android (at least on my Galaxy tablet), SSTP is not. Getting IKEv2 to work against the company VPN server has however shown to be near to impossible due to certificate issues with the current setup. What I can tell, the setup at the company uses self-signed certificates that do not 100% comply with IKEv2.

I tried SwanVPN, an app which implements IKEv2. Here I actually got through some of the certificate issues, by fiddling with the connection settings and adding the self signed certificate and self signed root certificate to my trusted certificates on Android. But, VPN could not be established due an error code of NO IDENTITY was thrown back in my face - this I never solved. The error is apparently related to a missing attribute in the certificate: Subject Alternative Names which I am to this day still a bit puzzled about…

Then I looked into using SSTP, which is also supported by our company VPN server. However, SSTP is not natively supported by Android nor by SwanVPN. Googling around, I found VPN Client Pro:

After installing this on my Android tablet, the configuration of the VPN was straight forward and more or less equivalent to setting up the VPN on Windows 10.

Best of all, this worked like a charm!!!

8bit Painter - a pixel art editor

January 16, 2018 - Søren Alsbjerg Hørup

Making pixel art has never been a hobby of mine until I stumbled upon 8bit Painter for Android. This app is a bitmap editor with very few features and a lot of constraints - however, this also makes it easy to use on a handheld device such as my Galaxy S5 phone.

Features more or less are:

  • Gallery list with all images made in the app.
  • Grid with each cell representing a single pixel.
  • Pan and Zoom
  • Fixed canvas sizes from 16 x 16 to 128 x 128, nothing customization here.
  • Ereaser, Pen, Fill and Picker tools.
  • Colorpicker with presets, brightness and saturation support.
  • Export to e.g. Google drive

Its an awesome app to use when idling with ones phone, e.g. in a meeting without an interesting agenda :-)

Some stuff I made using the app:


Android 8.0 Security Changes

September 21, 2017 - Søren Alsbjerg Hørup

One of my Apps recently broke with the introduction of Android 8.0. The reason being Android 8.0 introduced tighter security.

My app required the SEND_SMS permission to obviously send SMSes. This was the only permission required and have worked without any issues on pre 8.0. The reason was that my app also required the READ_PHONE_STATE permission - this was automatically granted when the SEND_SMS permission was granted prior to 8.0.

This is no longer the case on Android 8.0, the app now has to explicitly ask for the permission.

Tagged: android

USB On-The-Go

January 15, 2017 - Søren Alsbjerg Hørup

I recently acquired an USB OTG adapter for my Android devices. I wanted to see what kind of peripherals I could connect and if they would function correctly.

The first peripheral I tried was a standard HP USB Keyboard, nothing fancy. This worked on both my Galaxy Tab A 10.1 (2016) device and on my Galaxy S5 phone. I also tried a no-name wireless keyboard with a small USB dongle, this also worked fantastic. The latter has built in mouse which was also recognized by both my devices.

Next I tried a XBOX 360 Wireless controller with USB dongle. No dice on my Tab A but working fine on my Galaxy S5. My Galaxy S5 has been flashed to cyanogenmod 14 with a 3.4 kernel while the Tab A is still running an unrooted stock 6.1 with a 3.1 kernel. My guess is that the Tab A’s 3.1 kernel has not been compiled with the xpad driver needed to run the XBOX 360 wireless controller, since it seems that the dongle gets power just fine by the micro USB port.

A quick google search has confirmed this. Apparently very few Samsung devices running android 5+ support the xpad driver out of the box.

Next step in this endeavor is to root the Galaxy Tab A and get the xpad driver loaded.