用于 https 通信的 Dart http 包 - AppStore Export compliance

问题描述 投票:0回答:1

我在基于 Flutter 的移动应用程序中使用来自 Dart 的 HTTP 包。 HTTP 包用于服务器和客户端之间的 https 通信。

当我准备在 App Store 中提交新版本的应用程序时,如果应用程序使用标准加密算法但使用非 Apple API,则似乎需要提交文档,例如

URLSession
.

所以我的问题是,有人知道 Dart 的 HTTP 包是在内部使用

URLSession
还是它有自己的 https 实现以及所有加密?我是否需要提供出口合规文件才能使用该包裹?

谢谢!

flutter dart app-store app-store-connect
1个回答
0
投票

看http包源码,好像这个包只依赖Dart SDK

里面有一个 CUPHTTPClientDelegate.m 子包,标记为实验性的,他们说:

使用基础 URL 加载系统,而不是 基于套接字的 dart:io HttpClient 实现,有几个优点......

因此,我认为可以安全地假设该软件包当前不使用

UrlSession
.

dart:io.HttpClient
使用此 SecurityContext 代码来执行 TLS。它的一部分在 Dart SDK 的本地代码中实现。

似乎

dart-lang/sdk/runtime/bin/security_context.cc
是实现加密的地方,并且使用
openssl
包括:

#include <openssl/bio.h>
#include <openssl/err.h>
#include <openssl/pkcs12.h>
#include <openssl/ssl.h>
#include <openssl/x509.h>

所以,这似乎是 Dart SDK 中实际实现所有加密的原因。我认为 Apple 会接受这一点,因为 Apple Store 中有很多 Flutter 应用程序,而且其中大多数肯定都在使用 Dart 的 TLS。

我需要提供出口合规文件才能使用该包裹吗?

我不是律师,所以我无法提供法律建议,但我的理解是,对于“大众市场密码学”(OpenSSL 可能被归类为),您无需担心出口合规性。也许看看Mass Market以获得更准确的信息。

© www.soinside.com 2019 - 2024. All rights reserved.