【发布时间】:2018-10-03 15:16:54
【问题描述】:
我想在本地环境中创建我的 RPI 和 iOS 11 移动应用程序之间的安全通信通道。我的 RPI 正在运行 python API 代码,而我的 iOS 移动应用程序创建了对 RPI 的不同 API 调用。为了安全连接,我使用由我的私人证书颁发机构签名的证书。所有证书和签名请求都是使用“OpenSSL”Linux 命令行工具创建的。
正如我之前提到的,设备在本地网络中通过默认的 .local 域进行通信,该域由 linux 设备上的 avahi 服务和 iOS 设备上的 bonjour (zeroconf) 服务配置。一开始我在移动应用程序中加载证书时遇到了一些问题,经过一些研究后,我发现我必须在 xCode 中启用“NSAllowsLocalNetworking”标志IDE。启用“NS”标志后,SSL 证书固定成功并建立了安全通信。
我不知道但我想知道的是两件事:
- 启用“NSAllowsLocalNetworking”标志后,Apple 方面是否对将应用程序发布到应用商店有任何限制?
- 除了使用证书之外,在 iOS 移动应用程序和 RPI 之间的安全通信方面,我还有哪些其他选择?
【问题讨论】:
-
Apple 启用
NSAllowsLocalNetworking应该没有任何问题,因为大多数家庭自动化设备使用本地网络来链接/连接和配置设备。示例是 Amazon Alexa 应用、nest 等
标签: ios linux ssl app-transport-security