签署apple-app-site-association

时间:2015-09-29 11:48:38

标签: ios ssl 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/documentation/Security/Reference/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

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

表格Apple docs:

  

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

任何支持都会很棒。

提前致谢!

3 个答案:

答案 0 :(得分: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版本上的未签名文件一起使用。

答案 1 :(得分:6)

这绝对不是一个简单的过程。您可以找到另一篇有用的博文here。我直接从那篇文章中拉出来。

  

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

来自帖子:

  

获取SSL认证

     

您需要获取您将使用的域的SSL认证文件   举办通用链接。为此,您需要使用   第三方服务为您的域注册SSL,并创建   你需要的文件。环顾四周之后,我们选择了Digicert来处理   branch.io和相关的子域。

     

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

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

  2.   
  3. 登录您的远程服务器

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

  6.   
  7. https://www.digicert.com/welcome/ssl-plus.htm

  8. 支付您的SSL认证   
  9. 等待Digicert批准并向您发送最终文件

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

  12.   

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

最后,您可以将CloudFlare用于免费TLS。这不会帮助您签署apple-app-site-association文件,但这有助于确保您的(子)域通过HTTPS提供apple-app-site-association,这是必需的。这是您的(子)域在正确配置后的外观:

cloudflare

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

答案 2 :(得分:0)

cat json.txt | openssl smime -sign -inkey website.key -signer website_com.cert -noattr -nodetach -outform DER > apple-app-site-association

此命令将创建apple-app-site-association文件,该文件存储在Web服务器的根目录中。如果您有ssl网站,则通过ftp连接到Web服务器时,将在ssl文件夹中获得这些文件和website.key和webiste.cert。如果没有ssl网站,则首先获取服务器的ssl证书