【问题标题】:iOS App with encryption submit issue具有加密提交问题的 iOS 应用程序
【发布时间】:2017-06-06 05:19:28
【问题描述】:

我的应用程序我使用 sha256 加密(实际上它是一个哈希函数,所以你不能解密它)。对于对服务器的每个请求,我需要创建这样一个字符串“param1|param2|param3”并用 sha256 加密(我会得到encryptedString),我需要添加第四个参数"hash" = encryptedString。这是应用程序中唯一使用加密的方法

sha256 函数是:

import Security

func encryption_sha256(_ originString: String) -> String {
        let data = originString.data(using: String.Encoding.utf8)!
        var hash = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH))
        CC_SHA256((data as NSData).bytes, CC_LONG(data.count), &hash)
        let hexBytes = hash.map { String(format: "%02hhx", $0) }
        let resultString = hexBytes.joined(separator: "")
        return resultString
    }

当我向 App Store 提交时,我有这样的问题:

1) 您的应用是否设计为使用加密技术,或者它是否包含或包含加密技术? (即使您的应用仅使用 iOS 或 macOS 中可用的加密,也请选择是。)*

据我了解,我的回答是 YES或者我可以回答否,因为 sha256 不是加密,它只是哈希,你不能解密它?

2) 您的应用是否满足以下任一条件: (a) 符合第 5 类第 2 部分规定的一项或多项豁免条件 (b) 加密的使用仅限于操作系统(iOS 或 macOS)内的加密 (c) 仅通过 HTTPS 进行调用 (d) 应用仅在美国和/或加拿大提供

确保您的应用符合此处列出的豁免标准。您有责任对您的产品进行正确分类。对您的应用进行错误分类可能会导致您违反美国出口法律,并可能使您受到处罚,包括将您的应用从 App Store 中删除。在回答问题之前,请仔细阅读常见问题解答。

如果您的应用程序的加密是:您可以为问题 #2 选择“是”: (a) 仅限于在操作系统(iOS 或 macOS)内使用加密 (b) 仅限于通过 HTTPS 进行调用 (c) 专为医疗最终用途而设计 (d) 仅限于知识产权和版权保护 (e) 仅限于身份验证、数字签名或数据或文件的解密 (f) 专为银行用途或“货币交易”而设计和限制;要么 (g) 仅限于“固定”数据压缩或编码技术 如果您的应用符合美国出口管理条例第 2 部分第 5 类注释 4 中提供的描述,您也可以选择“是”。

我在这里回答是的,一切都很简单,我只需在info.plist文件中插入<key>ITSAppUsesNonExemptEncryption</key><false/>即可。

我可以对这个问题回答“是”吗?

如果否,我会收到 3d 问题:

3) 您的应用是否实施了任何专有的或尚未被国际标准机构(IEEE、IETF、ITU 等)接受为标准的加密算法?

据我了解,答案是NO

4) 您的应用是否实施了任何标准加密算法来代替或补充使用或访问 Apple 的 iOS 或 macOS 中的加密?

据我了解,答案是YES 在这种情况下,我需要:

请上传一封简短的信函,说明您了解提交工业和安全局 (BIS) 要求的年终自我分类报告的法律义务。

我需要在哪里提交这份工业和安全局要求的年终自我分类报告?或者我可以对第二个问题回答 YES 吗?

【问题讨论】:

  • 您可以对问题 2 回答“是”。

标签: ios iphone encryption cryptography appstore-approval


【解决方案1】:

关键是“选择是,即使您的应用仅使用 iOS 或 macOS 中可用的加密。”

由于SHA256 不加密,所以对问题 1 回答否。

加密哈希函数不是加密,因为它是单向函数,加密是可逆的双向函数。

【讨论】:

  • 问题 1 没有询问加密,而是询问密码学。
  • @JamesKPolk 是什么让您认为哈希函数是密码学?他们不是。
  • 它们是加密哈希函数,但我明白你的意思。我认为他可以正确回答问题 1。
  • “密码学”一词在“密码学散列函数”一词中用作形容词,以便将这些散列函数与预期会发生许多冲突的简单散列函数区分开来,例如字典中使用的功能。
  • 好的,我会尝试这种方式,如果它被批准,我会写评论
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-06
  • 2011-09-25
  • 2012-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多