お世話になります。
現在Java[サーバ]とObjective-C[クライアント]で
AES256/CBC/PKCS5Paddingで暗号化したデータの受け渡しを行い
サーバとクライアントそれぞれで
送信時に暗号化/受信時に復号化をしたいと考えているのですが
Objective-C側での受信時の復号化がうまくできません。
(復号化はsuccessになるが、文字列データが取れない)

下記コード上で修正が必要な箇所を指摘いただけると幸いです。
よろしくお願いいたします。

JAVA[暗号化側]

String data = "ENCRYPTION DATA";
String key  = "COMMON KEY";
String iv   = "INITIAL VECTOR";

byte[] binData = data.getBytes();
byte[] binKey  = key.getBytes();
byte[] binIv   = iv.getBytes();

SecretKeySpec key  = new SecretKeySpec(binKey, "AES");
IvParameterSpec iv = new IvParameterSpec(binIv);
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, key, iv);

String [暗号化済み文字列データ] = Hex.encodeHexString(cipher.doFinal(binData));

暗号化済み文字データは、HTTP通信のレスポンスでJSONとしてクライアント側へ送ります。
{"encryptData":暗号化済み文字列データ}

Objective-C[復号化側]

NSString *data  = [暗号化済み文字列データ];
NSData *encData = [data dataUsingEncoding:NSUTF8StringEncoding];
NSString *key   = @“COMMON KEY";
NSString *iv    = @“INITIAL VECTOR";

char keyPtr[kCCKeySizeAES256+1];
bzero(keyPtr, sizeof(keyPtr));
[key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding];

size_t encryptdataSize = [encData length] + kCCBlockSizeAES128;
void *encryptdata = malloc(encryptdataSize);

size_t numBytesEncrypted = 0;
CCCryptorStatus cryptStatus = CCCrypt(kCCDecrypt,
                                  kCCAlgorithmAES128,
                                  kCCOptionPKCS7Padding,
                                  keyPtr,
                                  kCCKeySizeAES256,
                                  (const void*)[iv UTF8String],
                                  [encData bytes],
                                  [encData length],
                                  encryptdata,
                                  encryptdataSize,
                                  &numBytesEncrypted); 
NSData *decData = nil;
NSString [復号化済み文字列データ];
if (cryptStatus == kCCSuccess) { // success扱いになる
decData = [NSData dataWithBytesNoCopy:encryptdata length:numBytesEncrypted];
    [復号化済み文字列データ] = [[NSString alloc] initWithData: decData encoding:NSUTF8StringEncoding]; // データを取得できない。(エンコードに失敗している?)
}

free(encryptdata);