iOS Equivalent of SecTransformRef? - ios

Is there an iOS equivalent to SecTransformRef from the Mac SecTransform.h header file? I am getting a Semantic issue where there is an unknown type name 'SecTransformRef'. It appears that the SecTransform.h file does not exist on the iOS side and I am trying to get the same functionality from the Mac side to the iOS version. The main objective at hand is client encryption and communication with Base64 encoding.

Security transforms are only available in OS X.
If you want to make symetric encryption please take a look on doc page:
https://developer.apple.com/library/mac/documentation/security/Conceptual/cryptoservices/GeneralPurposeCrypto/GeneralPurposeCrypto.html#//apple_ref/doc/uid/TP40011172-CH9-SW14
and also
https://developer.apple.com/library/mac/documentation/security/Conceptual/CertKeyTrustProgGuide/iPhone_Tasks/iPhone_Tasks.html#//apple_ref/doc/uid/TP40001358-CH208-SW9

Related

How to hash using ripemd128 on iOS / OS X?

I would like to hash a string using ripemd128 on iOS / OS X, but there does not seem to be core support for this, or any simple open source framework implementing it. Anyone has a solution?
If RIPEMD is not natively supported by the iOS SDK you can use an external library:
crypto++ For the integration with iOS you can see this page.
sphlib is a library implementing standard digest algorithms. It is written in ANSI C and should be compatible with iOS.

Using Shared Object File in iOS (.so file)

I have been given a Shared Object file (.so) and the functions inside of it, but I don't have a clue as to how to use it, or alter it for use in an iOS application. Could someone point me in the right direction?
I know the .so came from an Android application, but I was told I could get it to work in an iOS application as well.
Actually and technically, yes, you can, but not in a way you would ever think.
If it came from Android, it is probably compiled for ARM. So it should be binary-compatible with the ARM CPU in iOS devices. However, iOS doesn't use the usual format of shared objects (that is, the ELF format), but iOS' and OS X's own Mach-O format.
This means that you cannot directly link against this shared object file nor are you able pass it directly to dlopen() and dlsym(). You have to get into serious hacking (something that you probably don't know). This involves loading and relocating the file properly.
An example of this can be found in iOS jailbreak developer and hacker, Comex's GitHub repository Frash, a Flash player for jailbroken iOS devices. Comex essentially wrote an ELF loader module (dubbed "food") for iOS and used it to make Android's libflashplayer.so work on iOS. Pretty neat, huh?
Also note that this is not going to be possible for AppStore apps as it needs dynamic loading and various alterations in the OS.
while technically possible (see h2co3's answer) for anything practical the answer is no
so files arent in the correct binary format
even if they were, dynamic loading is not allowed by appstore

Blackberry AES encryption error

I have implemented AES encryption in BlackBerry using code from the Knowledge Base Article "How to - Use Advanced Encryption"
I keep getting error:
Module 'net_rim_crypto' not found.
In the code I have imported net.rim.device.api.crypto.*; package, but I can't find the package net.rim.crypto.
Do I need to add any external jar for that?
You should install JRE 4.6 and set the API level to 4.6 and OS of the target device should be higher than JRE version.
If you have problem with BlackBerry API or OS version, you may consider to use bouncy castle for j2me.

JSONKit for iphone app?

Will apple choose to not allow an app to go to the app store if we use JSONKit to parse JSON's from our php document? I would like to use JSONSerializable but that is for ios5 and I am not going to alienate ios4 members on 3gs by doing that.
You can use JSONKit in an iPhone app. Apple will not reject it based on that.
It's using private APIs they get upset about. :)
No. You can import your own class or library to parse JSON that you want. So long as you aren't using anything within Apple API's that are undocumented, you will be more than fine. Those are all well established parsers. No worries.
Nope, assumably they are unable to tell what source files you use in your application. JSONKit is licensed under the BSD License which allows redistribution;
Redistribution and use in source and binary forms are permitted
provided that the above copyright notice...

iOS library to Encrypt AES128 CFB no padding

Does anyone know of an iOS library that allows us to encrypt using AES128 CFB mode with not padding. Looks like commoncrypto does not support this .
Thanks
I'd suggest pushing OpenSSL into your project, if possible. A quick search for "ios openssl" returns a first hit for Easy inclusion of OpenSSL into iOS projects. See also AES interoperability between .Net and iPhone?
Beware that without padding, you'll need to feed the cipher blocks of the correct size.

Resources