我尝试实施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签名。
任何支持都会很棒。
提前致谢!
答案 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认证的步骤:
访问https://www.digicert.com/easy-csr/openssl.htm并填写顶部的表单以生成openSSL命令。保持这个窗口 开
登录您的远程服务器
执行openSSL命令以生成证书签名请求(.csr)和证书文件(.cert)
- 支付您的SSL认证
等待Digicert批准并向您发送最终文件
- 醇>
最后,将yourdomain.com.cert,yourdomain.com.key和digicertintermediate.cert移动到远程服务器上的同一目录中
如果您想免费获得证书,也可以尝试其他流程。 startssl.com相当受欢迎。有一个分步指南here。
最后,您可以将CloudFlare用于免费TLS。这不会帮助您签署apple-app-site-association
文件,但这有助于确保您的(子)域通过HTTPS提供apple-app-site-association
,这是必需的。这是您的(子)域在正确配置后的外观:
如果你确实这样做了,请发布你为了帮助其他开发者而采取的步骤。虽然这是大公司很容易设置的人力资源,但对于唯一的开发人员而言,这是非常棘手的。
答案 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证书