Hi,
problems as reported with PSK over wifi / 3g i can't reproduce.
@threatspike we were looking into the problem deeply today using tcpdump, and i don't think you are right.
The packet that is not accepted is sent from ios6 (6.0.1) using a propretary cisco IKE fragmentation.
For Strongswan 4.4.1 + 4.6.4 the following patch (done by Astaro guys) adds support for IKE fragment payloads to strongswan. That patch does not work for >= strongswan 5.x since strongswan fully removed pluto.
If applied on strongswan 4.4.1 / 4.6.4, ios 6.x devices using long certificates can connect without issues.
http://pastebin.com/mHS68juq
--- taken from the patch-description ---
The IPsec client in iOS 6 sends IKE packets split up into
IKE fragment payloads in some situations. This is done
regardless of whether UTM announces support for this
undocumented Cisco proprietary IKE extension or not.
This patch adds support for incoming IKE fragments.
----
--- Log from strongswan 5.0.1
Nov 30 00:55:21 zabbix charon: 16[NET] received packet: from 217.113.177.189[4500] to 77.232.232.141[4500]
Nov 30 00:55:21 zabbix charon: 16[ENC] decryption failed, invalid length
Nov 30 00:55:21 zabbix charon: 16[ENC] could not decrypt payloads
Nov 30 00:55:21 zabbix charon: 16[IKE] integrity check failed
---
See this screenshot, that is ios 5.1.1 connection to the server:
Ios 5.1.1 sends 2 normal fragmented udp package (1808).
Ios 6.x sends the same packages, but using cisco IKE fragmentation:
So the problem is that most non Cisco ipsec server do not understand the propretary IKE Fragementation Payload.
We are trying to integrate the patch from Astaro to Strongswan 5.0.1.