I try to decrypt data that was originally encrypted with Objective-C in Java.
There are other questions mentioning this but they are really cluttered and many of them a
This is probably not contributing to your problem, but it's wrong anyway:
char * keyPtr[kCCKeySizeAES128+1]; // room for terminator (unused)
That defines an array of kCCKeySizeAES128 + 1 pointers, not kCCKeySizeAES128 + 1 bytes. As it happens, it is OK because the buffer you get is four or eight times larger than you need depending on whether you are compiling for 32 or 64 bit.