iOS应用程序加密提交问题

问题描述:

我的应用程序我使用sha256加密(实际上它是一个哈希函数,所以你不能解密它)。对于每个服务器请求,我需要制作一个字符串“param1 | param2 | param3”并用sha256加密(我将得到encryptedString),并且需要添加第4个参数"hash" = encryptedString。这是在应用程序中唯一采用的加密iOS应用程序加密提交问题

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)只有进行呼叫(S)通过HTTPS (d)应用程序只能在美国和/或加拿大

是提供确保自己的应用满足以下列出的豁免标准。您有责任对您的产品进行适当的分类。不正确地对您的应用进行分类可能会导致您违反美国出口法律,并可能使您受到处罚,其中包括您的应用已从App Store中删除。在回答问题之前,请仔细阅读常见问题解答。

您可以选择是对于问题2,如果您的应用程序的加密是: (一)仅限于使用操作系统中的加密(iOS或MacOS的) (B)有限公司通过HTTPS拨打电话(f)专门设计用于医疗最终用途 (d)限于知识产权和版权保护 (e)仅限于认证,数字签名或数据或文件的解密 (f)专门为银行设计和限制使用或“金钱交易”;或 (g)限于“固定”数据压缩或编码技术 如果您的应用程序符合美国出口管理条例第5部分第2部分中注释4中提供的描述,您也可以选择是。

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

我可以回答YES这个问题吗?

如果NO,我得到的3D问题:

3)请问您的应用程序实现任何加密算法是专有或尚未要被接受为国际标准组织(IEEE,IETF标准,国际电联等)?

据我了解,答案是NO

4)请问您的应用程序实现任何标准的加密算法,而不是,或除了,使用或访问苹果的iOS或MacOS的加密?

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

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

哪里需要提交此工业安全局要求的年终自行分类报告?或者可以回答第二个问题YES

+0

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

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

由于SHA256不加密,不回答问题1

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

+0

问题1没有询问有关加密的问题,它询问了有关加密的问题。 –

+0

@JamesKPolk是什么让你认为哈希函数是密码学?他们不是。 – zaph

+0

他们是加密散列函数,但我明白你的观点。我认为他可以对问题1正确回答“否”。 –