签署apple-app-site-association

gra*_*n33 6 ssl ios ios-universal-links

我试着实现iOS9 Universal Links.

我正在使用这个教程:http: //blog.hokolinks.com/how-to-implement-apple-universal-links-on-ios-9/ 这个:https: //developer.apple.com/library/ios /文档/安全/参考/ SharedWebCredentialsRef /

但他们都没有完成整个过程.

我会apple-app-site-association提交.

以上链接说这样做:

cat json.txt | openssl smime -sign -inkey example.com.key
                            -signer example.com.cert
                            -certfile intermediate.cert
                            -noattr -nodetach
                            -outform DER > apple-app-site-association
Run Code Online (Sandbox Code Playgroud)

我没有.cert文件(并且不知道如何创建它).

表单Apple文档:

该文件必须由有效的TLS证书进行CMS签名.

任何支持都会很棒.

提前致谢!

Dav*_*use 12

从iOS 9开发人员种子2开始,您不再需要为通用链接签署apple-app-site-association文件.网络上的大多数地方仍然像正式的Apple Docs那样引用了对文件签名的需求.这是WWDC会议,宣布您不再需要签署该文件. https://developer.apple.com/videos/play/wwdc2015-509/转到〜14分钟到视频,他们宣布这个和限制(不向后兼容iOS 8).

我已经验证了Universal Links与官方iOS 9版本上的未签名文件一起使用.


st.*_*ick 6

这绝对不是一个简单的过程.你可以找到其他有用的博客文章在这里.我直接从那篇文章中拉出来.

我没有.cert文件(并且不知道如何创建它).

从帖子:

获得SSL认证

您需要获取用于托管Universal Links的域的SSL认证文件.为此,您需要使用第三方服务为SSL注册域名,并创建所需的文件.环顾四周后,我们选择了Digicert来处理branch.io和相关的子域.

以下是创建SSL认证的步骤:

  1. 访问https://www.digicert.com/easy-csr/openssl.htm并填写顶部的表单以生成openSSL命令.保持此窗口打开

  2. 登录到远程服务器

  3. 执行openSSL命令以生成证书签名请求(.csr)和证书文件(.cert)

  4. 通过https://www.digicert.com/welcome/ssl-plus.htm支付您的SSL认证

  5. 等待Digicert批准并向您发送最终文件

  6. 最后,将yourdomain.com.cert,yourdomain.com.key和digicertintermediate.cert移动到远程服务器上的同一目录中

如果您想免费获得证书,也可以尝试其他流程.startssl.com相当受欢迎.有一个一步一步的指导这里.

最后,您可以使用CloudFlare免费TLS.这对签名apple-app-site-association文件没有帮助,但它有助于确保您的(子)域服务apple-app-site-association于HTTPS,这是必需的.这是您的(子)域在正确配置时应该看起来的样子:

CloudFlare的

如果你确实这样做了,请发布你为了帮助其他开发者而采取的步骤.虽然这是大型公司很容易设置的人力资源,但对于唯一的开发人员来说,这是非常棘手的.