Skip to content

Commit

Permalink
Added MZ_TARGET_APPSTORE to hide GSM private api on macOS
Browse files Browse the repository at this point in the history
  • Loading branch information
Coeur authored and nmoinvaz committed Oct 23, 2024
1 parent 95fdb49 commit b2691a0
Showing 1 changed file with 14 additions and 10 deletions.
24 changes: 14 additions & 10 deletions mz_crypt_apple.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,12 @@

/***************************************************************************/

/* Avoid use of private API for iOS, Apple does not allow it on App Store. Zip format doesn't need GCM. */
#if !defined(__APPLE__)
#ifndef MZ_TARGET_APPSTORE
#define MZ_TARGET_APPSTORE 1
#endif

/* Avoid use of private API for App Store as Apple does not allow it. Zip format doesn't need GCM. */
#if !MZ_TARGET_APPSTORE
enum {
kCCModeGCM = 11,
};
Expand Down Expand Up @@ -227,7 +231,7 @@ int32_t mz_crypt_aes_encrypt(void *handle, const void *aad, int32_t aad_size, ui
return MZ_PARAM_ERROR;

if (aes->mode == MZ_AES_MODE_GCM) {
#if defined(__APPLE__)
#if MZ_TARGET_APPSTORE
return MZ_SUPPORT_ERROR;
#else
if (aad && aad_size > 0) {
Expand All @@ -251,14 +255,14 @@ int32_t mz_crypt_aes_encrypt(void *handle, const void *aad, int32_t aad_size, ui

int32_t mz_crypt_aes_encrypt_final(void *handle, uint8_t *buf, int32_t size, uint8_t *tag, int32_t tag_size) {
mz_crypt_aes *aes = (mz_crypt_aes *)handle;
#if !defined(__APPLE__)
#if !MZ_TARGET_APPSTORE
size_t tag_outsize = tag_size;
#endif

if (!aes || !tag || !tag_size || !aes->crypt || aes->mode != MZ_AES_MODE_GCM)
return MZ_PARAM_ERROR;

#if defined(__APPLE__)
#if MZ_TARGET_APPSTORE
return MZ_SUPPORT_ERROR;
#else
aes->error = CCCryptorGCMEncrypt(aes->crypt, buf, size, buf);
Expand All @@ -282,7 +286,7 @@ int32_t mz_crypt_aes_decrypt(void *handle, const void *aad, int32_t aad_size, ui
return MZ_PARAM_ERROR;

if (aes->mode == MZ_AES_MODE_GCM) {
#if defined(__APPLE__)
#if MZ_TARGET_APPSTORE
return MZ_SUPPORT_ERROR;
#else
if (aad && aad_size > 0) {
Expand All @@ -306,7 +310,7 @@ int32_t mz_crypt_aes_decrypt(void *handle, const void *aad, int32_t aad_size, ui

int32_t mz_crypt_aes_decrypt_final(void *handle, uint8_t *buf, int32_t size, const uint8_t *tag, int32_t tag_length) {
mz_crypt_aes *aes = (mz_crypt_aes *)handle;
#if !defined(__APPLE__)
#if !MZ_TARGET_APPSTORE
uint8_t tag_actual_buf[MZ_AES_BLOCK_SIZE];
size_t tag_actual_len = sizeof(tag_actual_buf);
uint8_t *tag_actual = tag_actual_buf;
Expand All @@ -317,7 +321,7 @@ int32_t mz_crypt_aes_decrypt_final(void *handle, uint8_t *buf, int32_t size, con
if (!aes || !tag || !tag_length || !aes->crypt || aes->mode != MZ_AES_MODE_GCM)
return MZ_PARAM_ERROR;

#if defined(__APPLE__)
#if MZ_TARGET_APPSTORE
return MZ_SUPPORT_ERROR;
#else
aes->error = CCCryptorGCMDecrypt(aes->crypt, buf, size, buf);
Expand Down Expand Up @@ -353,7 +357,7 @@ static int32_t mz_crypt_aes_set_key(void *handle, const void *key, int32_t key_l
else if (aes->mode == MZ_AES_MODE_ECB)
mode = kCCModeECB;
else if (aes->mode == MZ_AES_MODE_GCM)
#if !defined(__APPLE__)
#if !MZ_TARGET_APPSTORE
mode = kCCModeGCM;
#else
return MZ_SUPPORT_ERROR;
Expand All @@ -369,7 +373,7 @@ static int32_t mz_crypt_aes_set_key(void *handle, const void *key, int32_t key_l
if (aes->error != kCCSuccess)
return MZ_HASH_ERROR;

#if !defined(__APPLE__)
#if !MZ_TARGET_APPSTORE
if (aes->mode == MZ_AES_MODE_GCM) {
aes->error = CCCryptorGCMAddIV(aes->crypt, iv, iv_length);

Expand Down

0 comments on commit b2691a0

Please sign in to comment.