Export Compliance:什么是出口合规、出口管制规则和加密

作者: IT Sectr 发布日期: 2026-06-07 阅读时间: 9 分钟

Export Compliance — 是应用商店对带有加密功能的产品施加的出口管制要求。开发者必须指明密码学类别,并根据美国工业和安全局(BIS)的规定提交声明。根据 Apple Export Compliance Documentation, 2026,填写不正确将导致构建被拒。该流程同时适用于 App Store 和 Google Play,并且需要理解 CCAT 类别和大规模市场。

要点

  • Export Compliance — 在 App Store 和 Google Play 发布之前,在应用中声明加密的强制程序。
  • CCAT(密码学分类)— 确定出口限制级别的类别:CCAT-1、CCAT-2 或大规模市场。
  • ERN 声明 — 年度报告中的编号,用于确认符合 BIS 出口管制规范。
  • App Store 要求在通过 App Store Connect 上传构建阶段选择类别,并可提供 ERN。
  • Google Play 在发布新 APK 或 AAB 时,通过开发者控制台中的表单检查出口状态。

什么是 Export Compliance?

Export Compliance — 是一套监管要求,用于规范带有密码学功能的软件从美国出口。规则由美国商务部工业和安全局(BIS)在 15 CFR Parts 730–774 框架内制定。Apple 和 Google 作为美国公司,有义务检查应用是否符合这些规范。开发者填写声明,指明加密类别和算法类型。

出口管制的法律基础

监管的基础是 EAR(出口管理条例),它将所有密码学软件按类别分类。第 5 类第 2 部分涵盖带有加密功能的产品。对于移动应用,适用简化规则 — 大规模市场(mass market)和通知程序(self-classification)。如果应用属于例外情况,开发者无需获得个人许可证。

谁需要经过 Export Compliance

任何使用加密功能的应用都必须通过检查。例外 — 仅使用操作系统内置加密(iOS URLSession、Android SSLSocket)而不添加自有密码学算法的产品。如果开发者添加了自定义加密、OpenSSL 库或任何 AES/RSA 实现,则声明是强制性的。根据 Google Play Console 的数据,大约 30% 被拒应用因 Export Compliance 错误而被拒绝。

为什么出口管制对移动应用很重要

出口管制通过限制密码学技术的传播来保护国家安全。美国要求报告带加密的产品,以防止其被用于非法目的。对于开发者来说,不遵守规则会导致应用被封锁、最高 100 万美元的罚款以及发布禁令。Apple 和 Google 作为管制代理 — 没有正确的声明,它们不会让构建通过。

违规的后果

违反 Export Compliance 可能导致应用从商店中移除以及开发者被列入黑名单。BIS 有权实施行政处罚,包括高额罚款。2024 年,BIS 对三家公司处以超过 200 万美元的罚款,原因是它们发布了带有未认证加密的软件。对于独立开发者来说,主要风险是构建被拒和重新发布的时间损失。

应用商店的角色

Apple 和 Google 充当开发者和监管者之间的中介。App Store Connect 和 Google Play Console 在上传阶段包含强制性的 Export Compliance 表单。未完成此步骤,提交审核的按钮将被锁定。商店不检查数据的正确性 — 只检查其存在。数据的真实性责任由开发者承担。

如何对应用中的加密进行分类

加密分类从回答一个问题开始:应用是否使用自己的密码学?如果应用仅依赖操作系统的标准 API(iOS 上的 CommonCrypto,Android 上的 javax.crypto),则属于例外情况,无需声明。如果添加了外部库或实现了自己的算法,则需要确定 CCAT 类别。

CCAT 类别

CCAT-1 — 符合 EAR 740.17 例外的大规模市场商品(mass market)。这包括使用 AES-128/256、RSA-2048 加密并使用标准 TLS/HTTPS 协议的应用。 CCAT-2 — 具有非标准密码学且需要个人许可证的产品。大多数移动应用属于 CCAT-1。大规模市场类别是最简单的声明形式。

大规模市场密码学

如果应用的密码学功能可供广大受众使用、不需要特殊知识即可使用并且符合开放标准,则该应用被视为大规模市场产品。根据 BIS Supplementary Information(2025),大规模市场包括使用 AES、RSA、ECC 和 TLS 1.2/1.3 实现的应用。如果应用使用密钥长度小于 56 位的非标准算法,则被排除在此类别之外。

在 App Store 中的声明流程

App Store 中的 Export Compliance 流程在上传新构建时在 App Store Connect 中开始。系统提出一系列问题:应用是否使用加密、是否属于大规模市场、ERN 是否已注册。开发者回答,根据答案形成出口状态。如果出现错误,状态可以更改 — Apple 不会因更正而罚款,但必须重新上传构建。

ERN 注册

ERN(加密注册号)— 在 BIS 的年度注册编号,确认产品已通过通知程序分类。ERN 注册是免费的,有效期一年。申请表格是 BIS 网站上的 SNAP-R。获得 ERN 后,开发者在 App Store Connect 中输入该编号,并在一年内的后续上传中免于重复提问。根据 Apple 的统计数据,60% 的开发者使用 ERN 来简化流程。

自行分类

如果没有 ERN,开发者通过 App Store Connect 界面进行自行分类。Apple 使用基于答案的算法来分配类别。在选择错误时,系统建议获取 ERN。自行分类适用于具有标准加密的简单应用。对于具有非标准密码学的产品,Apple 建议注册 ERN 以避免错误。

Google Play 中的 Export Compliance

Google Play 通过开发者控制台中的表单进行 Export Compliance 检查。在创建新版本的阶段,系统要求提供有关密码学信息。Google 使用与 Apple 相同的 EAR 类别,但该过程称为 Export Compliance Review。答案被记录并应用于所有未来构建。Google 对大多数应用不要求 ERN — 声明属于大规模市场即可。

开发者控制台中的流程

Google Play Console 中,Export Compliance 部分位于应用设置的 App Content 中。开发者回答三个问题:应用是否包含密码学、是否面向大规模市场、是否符合 740.17 例外。Google 在出现投诉之前不检查答案的真实性。但是,BIS 可以要求提供文件,开发者有义务提供分类的证明。

Apple 和 Google 之间的差异

主要区别 — Apple 对复杂情况要求 ERN,Google 依赖于自我声明。App Store 要求每个新构建提供 Export Compliance,Google Play — 对应用只需一次。Apple 更严格地检查答案并可以拒绝构建,Google 仅记录数据。两家商店都遵循统一的 EAR 监管框架,但实施过程有所不同。开发者只需了解分类一次即可在两个平台上发布。

填写声明时的常见错误

Export Compliance 中的错误分为三类:加密分类错误、遗漏必填字段和 ERN 无效。最常见的 — 开发者表示未使用加密,而应用调用了 CommonCrypto 或 javax.crypto 方法。第二种最常见的 — 当具有 TLS 1.3 的应用被标记为非标准密码学时选择了错误的 CCAT 类别。第三种 — 输入未通过 BIS 数据库验证的无效 ERN。

如何避免构建被拒

建议在填写表单之前列出所有应用的密码学功能。检查导入了哪些库、调用了哪些加密 API。对于 iOS — 检查 CommonCrypto、Security.framework、OpenSSL 的存在。对于 Android — javax.crypto、android.security、Conscrypt。如果应用仅通过标准网络请求使用 HTTPS,则免于声明。如有任何疑问,请选择带声明的选项。

出口状态审计

定期 Export Compliance 审计有助于在更新应用时避免处罚。如果在新版本中添加了密码学,必须重新填写声明。Apple 和 Google 会在应用类别发生变化时通知开发者。建议每年检查 ERN 的有效性并根据需要续期。对于拥有数十个应用的大型项目,通过 CI/CD 自动化审计可降低人为错误的风险。

常见问题

如果应用仅使用 HTTPS,是否需要通过 Export Compliance?

不需要,如果 HTTPS 是通过操作系统的内置 API(iOS 上的 URLSession,Android 上的 HttpURLConnection)实现的,没有添加自己的证书或自定义密码学算法,则无需声明。例外 — 使用 OpenSSL 或其他第三方 TLS 库。

什么是 ERN 以及如何获取?

ERN(加密注册号)— 在 BIS 的年度注册标识符。可以通过 bis.gov 网站上的 SNAP-R 系统免费获取,填写分类通知表格。编号有效期为 1 年,涵盖应用的所有版本。

Apple 是否会因为 Export Compliance 错误而拒绝构建?

是的,如果对 Export Compliance 问题的回答存在矛盾或不符应用功能,Apple 可能会拒绝构建。在这种情况下,开发者会收到来自 App Store Review 的消息,说明原因,并可以使用更正后的数据重新上传构建。

Apple 和 Google 的 Export Compliance 要求是否不同?

EAR 监管框架是统一的,但流程不同:Apple 检查每个构建,Google — 对应用只需一次。Apple 要求非标准密码学提供 ERN,Google 接受自我声明。两家商店都遵循 CCAT 类别和 BIS 规则。

如果不填写 Export Compliance 会怎样?

App Store 和 Google Play 会阻止未填写 Export Compliance 表单的构建上传。应用将无法通过审核,发布将不可能。对于已发布的应用,更改出口状态需要新编译和重新审核。

总结

  • Export Compliance — 基于 EAR 规范的,在 App Store 和 Google Play 发布时声明密码学的强制程序。
  • CCAT 分类将应用分为大规模市场和需要个人许可证的类别。大多数移动产品属于第一类。
  • ERN — 在 BIS 的年度注册编号,可简化在 App Store 中 12 个月的 Export Compliance 流程。
  • Apple 检查每个构建,Google Play 记录一次状态。数据的真实性责任由开发者承担。
  • 没有自有密码学的应用免于声明。使用操作系统的标准 API 不需要填写表单。
  • 常见错误 — 加密类别错误和 ERN 无效 — 通过使用更正后的数据重新上传构建来解决。
  • 建议在每次重大更新时进行 Export Compliance 审计,并每年续期 ERN 以确保持续发布。

我们将开发一款交钥匙移动应用程序

IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。

讨论项目

另请阅读