在 AppStore Connect 中选择啥?我的应用程序是不是使用加密?
Posted
技术标签:
【中文标题】在 AppStore Connect 中选择啥?我的应用程序是不是使用加密?【英文标题】:What to choose in AppStore Connect ? Does my app use encryption?在 AppStore Connect 中选择什么?我的应用程序是否使用加密? 【发布时间】:2021-03-11 18:45:37 【问题描述】:下午好。
我有这样一个问题。当我在应用商店下载应用时,我会被问到: “您的应用是为使用加密而设计的,还是包含或包含加密?”。
我有一个私有库,我为每个单独的项目授权。
我获得了项目参数(应用程序名称、BundleID 等)。 我生成(独立、手动)几个密钥,用于 base64 和 AES256。 然后我将这些常量插入到库中。
图书馆有一个安全机制。 每次启动使用我的库的应用程序时,它都会提取一些项目参数,将它们转换为 AES256/base64,并将它们与其常量进行比较。
如果它们不同,则意味着框架被插入到我没有许可使用框架的项目中。
我应该在 iTunes 连接中选择什么?我的应用程序(使用具有盗版保护机制的库)是否使用加密?
附言 我在库中还有一个类,其中包含将 NSString 转换为 NSData 的不同方法,反之亦然。 下面是 .h 文件。我只使用其中的一部分,只是为了检查许可证。
在设备上本地检查许可证!我不会将数据发送到任何地方。
/*-------------------------------------------------
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
【问题讨论】:
【参考方案1】:Apple 在这里提供了很好的指导:https://help.apple.com/app-store-connect/#/dev88f5c7bf9
如果您在美国,还可以在此处查看美国商务部信息:https://www.bis.doc.gov/index.php/documents/regulations-docs/445-category-5-part-2-information-security
Apple 指南中的 TLDR 是: 加密的使用包括但不限于:
通过安全通道(即 HTTPS、SSL 等)进行调用。 使用标准加密算法。 使用来自其他来源(例如 ios 或 macOS)的加密功能。 使用专有或非标准加密算法。因此,我们所有构建对 API 进行 HTTPS 调用的应用程序的人都应该对这个问题回答 Yes。
【讨论】:
以上是关于在 AppStore Connect 中选择啥?我的应用程序是不是使用加密?的主要内容,如果未能解决你的问题,请参考以下文章
AppStore Connect 是不是应该打开 Unrestricted Web Access?
在 appstore connect 中上传的应用程序未在 testflight 中显示
如何在 iTunes Connect 地区选择孟加拉国国家?
Codemagic 未在 Appstore Connect 中卸载颤振应用程序集