Good afternoon.
I have such a question. When I download the app in the app store, I will be asked:
"Is your app designed to use cryptography or does it contain or incorporate cryptography?".
I have a private library that I license for each individual project.
I am provided with project parameters (Application name, BundleID, etc.).
And I generate (independently, manually) several keys, I use for base64 and AES256.
Then I insert these constants into the library.
The library has a security mechanism.
Every time an application that uses my library is launched, it extracts some project parameters, converts them to AES256/base64, and compares them with its constants.
If they differ, it means that the framework was inserted into a project for which I did not license the use of the framework.
What should I choose in iTunes connect ? Does my application (which uses a library that has a pirate protection mechanism) use encryption ?
P.S.
I also have a class in the library that contains different methods for converting NSString to NSData and vice versa.
Below it will be .h file. I only use a part of them, just to check the license.
THE LICENSE is checked locally on the device ! I don't send the data anywhere.
I have such a question. When I download the app in the app store, I will be asked:
"Is your app designed to use cryptography or does it contain or incorporate cryptography?".
I have a private library that I license for each individual project.
I am provided with project parameters (Application name, BundleID, etc.).
And I generate (independently, manually) several keys, I use for base64 and AES256.
Then I insert these constants into the library.
The library has a security mechanism.
Every time an application that uses my library is launched, it extracts some project parameters, converts them to AES256/base64, and compares them with its constants.
If they differ, it means that the framework was inserted into a project for which I did not license the use of the framework.
What should I choose in iTunes connect ? Does my application (which uses a library that has a pirate protection mechanism) use encryption ?
P.S.
I also have a class in the library that contains different methods for converting NSString to NSData and vice versa.
Below it will be .h file. I only use a part of them, just to check the license.
THE LICENSE is checked locally on the device ! I don't send the data anywhere.
Code Block objective-c /*------------------------------------------------- CommonHMAC --------------------------------------------------*/ @interface NSData (CommonHMAC) - (NSData*) HMACWithAlgorithm:(CCHmacAlgorithm) algorithm; - (NSData*) HMACWithAlgorithm:(CCHmacAlgorithm) algorithm key:(id)key; @end /*--------------------------------------------------------- CommonCryptor ---------------------------------------------------------*/ @interface NSData (CommonCryptor) - (NSData*) AES256EncryptedDataUsingKey:(id)key error:(NSError **) error; - (NSData*) decryptedAES256DataUsingKey:(id)key error:(NSError **) error; - (NSData*) DESEncryptedDataUsingKey:(id)key error:(NSError **) error; - (NSData*) decryptedDESDataUsingKey:(id)key error:(NSError **) error; - (NSData*) CASTEncryptedDataUsingKey:(id)key error:(NSError **) error; - (NSData*) decryptedCASTDataUsingKey:(id)key error:(NSError **) error; @end /*-------------------------------------------------------- CommonDigest ---------------------------------------------------------*/ @interface NSData (CommonDigest) - (NSData*) MD2Sum; - (NSData*) MD4Sum; - (NSData*) MD5Sum; - (NSData*) SHA1Hash; - (NSData*) SHA224Hash; - (NSData*) SHA256Hash; - (NSData*) SHA384Hash; - (NSData*) SHA512Hash; @end