gpt4 book ai didi

ios - 安装 .der 文件并在完成后返回到应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:44:56 26 4
gpt4 key购买 nike

我有一个应用程序需要安装证书,它使用

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:CERTIFICATE_URL]];

这会访问 Web 服务器,获取证书并启动“设置”应用程序,允许用户安装证书。

完成后,点击完成按钮,“设置”应用会将您带回 Safari,但页面为空白(或您上次访问的页面)。

显然,我想使用我已设置的 url 方案返回应用程序。

有没有人有这方面的经验,可以指点一下?

我在考虑有一个登陆页面,该应用程序也会带你去告诉你安装证书(点击一个按钮),然后当它安装时我假设它会让你返回到这个登陆页面,之后我可以做如果我可以确定证书已成功安装,则自动重定向回应用程序......??

最佳答案

不久前,我使用了一个 Apple 技术支持问题来解决这个问题。这是对话:

大卫

我正在回答您关于 iOS 上受信任的根证书的问题。你写道:

所以问题是:是否可以查询设置应用程序/或安装配置文件以确定特定的证书是否安装。

您可以通过使用信任对象 (SecTrustRef) 评估特定证书是否受系统信任来执行此操作。我最近发表了一篇技术说明,深入讨论了这个整体问题。在阅读我的其余回复之前,您应该阅读此内容。

TN2232“HTTPS 服务器信任评估”

http://developer.apple.com/library/ios/#technotes/tn2232/_index.html

该技术说明不涵盖您的具体案例,但采用它描述的技术来解决您的问题相对容易。基本策略是:

  1. 查找证书颁发机构颁发的证书 -- 您可以从网站本身获取此证书(使用电影的 HEAD 请求),或者您可以将它嵌入到您的应用中。

  2. 如果您有证书数据,则从中创建一个证书对象 (SecCertificateRef) -- 您可以使用 SecCertificateCreateWithData 来执行此操作。

  3. 从中创建一个信任对象 -- 您可以使用 SecTrustCreateWithCertificates 来执行此操作。您必须提供一个策略对象 (SecPolicyRef),但创建其中一个很容易:只需调用 SecPolicyCreateBasicX509。

  4. 评估信任对象 -- 您可以使用 SecTrustEvaluate 执行此操作。如果它返回 kSecTrustResultProceed 或 kSecTrustResultUnspecified,则系统信任颁发您在步骤 1 中开始使用的证书的证书颁发机构的根证书;如果它返回任何其他内容,则可能无法通过 HTTPS 播放电影。

此外,我们甚至必须离开应用程序才能安装证书吗?

是的,尽管您可以通过更改影片播放方式来完全避免此问题。我将在下面更详细地讨论这个问题。

证书能否以某种方式安装在钥匙串(keychain)中 [...]

是的,但这不会导致系统(甚至您的应用程序)信任该根证书颁发的证书。将证书添加到钥匙串(keychain)在某些情况下很有用(例如,如果它是数字身份的一部分,或者如果它是中间证书),但它对 HTTPS 服务器信任评估没有帮助。

              *                   *                   *

以上均假设您正在通过渐进式下载播放电影。如果您的电影使用 HTTP Live Streaming(这是我们通常推荐的),那么有一个/更好/更好的方法来解决这个问题。 TN2232的“HTTP Live Streaming”部分介绍了这个想法,并提供了更详细信息的引用。

这种方法提供了许多非常重要的优势:

o 它避免了安装自定义根证书的需要。

o HTTP 直播流通常会产生更好的播放效果,因为系统会自动适应可用带宽的变化。

o 如果您提供低带宽流,App Review 将允许您通过 WWAN 播放电影。

o 您的媒体段已加密,因此您可以将它们移动到 HTTP 服务器(而不是 HTTPS 服务器)。这可以显着降低您的内容分发网络的负载。

我强烈建议您调查此选项。

如果您对此主题有任何其他问题,请告诉我。

奎因“爱斯基摩人!”

关于ios - 安装 .der 文件并在完成后返回到应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11525264/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com