我在使用 ATS 和 React Native Firebase 吗?

Am i using ATS with React Native Firebase?

我正在将 React Native 与 Firebase 一起使用,我正在尝试将应用程序上传到 testflight 到 Itunes Connect。弹出加密问题,我不知道要做什么 select。我对 ATS 和加密做了一些研究。我假设 firebase 正在使用 HTTPS 调用?如果是这样,那么我可能需要 select 我正在使用加密。 在这种情况下,系统会询问我是否有资格获得豁免。

我真的不知道这些选项是什么意思,也不知道其中是否适用于我。看起来太复杂了,没关系,但我很难理解什么适用于我。

我的意思是这句话好像是对的:

"Limited to authentication, digital signature, or the decryption of data or files"

但也许我遗漏了什么?

或者这个:

"Limited to “fixed” data compression or coding techniques"

受限于编码技术?不知道。

因此,如果我有使用 Firebase 存储有关 user/authentication 等数据的基本应用程序,我是否使用 HTTPS?然后我是豁免还是应该向他们发送年终文件,我不知道这是什么意思?

最重要的是React Native官方文档提到你应该允许ATS,这意味着你肯定要说你正在使用加密,但是没有提到任何关于加密的内容。 在此处启用应用程序传输安全 Link

我欢迎任何解释,因为我觉得这里有点迷茫。 谢谢

所以你的问题有点离题。 ATS 是 Apple 用来尝试确保您的应用建立的任何网络连接都使用 HTTPS(以及其他更严格的要求,如 TLS 版本、前向保密等)受到保护的强制技术。所以 ATS 会试图强制你使用 HTTPS。您的 React Native 应用是否真的使用 HTTPS 取决于您自己。

基本上,您可以启用 ATS,但向您的应用程序通信的一个域添加一个例外,以允许该应用程序使用 HTTP 进行这些调用。在这种情况下,您的应用程序不使用加密,因此您可以对该问题回答“否”。

但是,如果您使用 https 协议访问任何网络资源,您就有加密,但它属于一种豁免形式的加密。

您只需将以下内容添加到您的Info.plist:

<key>ITSAppUsesNonExemptEncryption</key>
<false/>

不幸的是,这还不是全部。然而,好消息是如果你只是使用 https,你将有一个比你自己的加密/解密更简单的过程。

正如您在 this page, you only need to submit a self classification report 中看到的那样。这相对容易,您不需要向 Apple 提供任何额外的文件。

Your app uses ATS or makes a call to HTTPS:

No documentation required in App Store Connect. Submit a Self Classification Report to the U.S. Bureau of Industry and Security (BIS) directly.

此外,您可以在此处找到有关提交该 BIS 表格的更多信息: