众所周知,Google App Engine 默认将其应用程序托管在 appspot.com 子域上,其通配符 (*.appspot.com) SSL 证书允许任何应用程序在此子域上使用 https。
进入带有通用链接和 Web 标记的 iOS 9,现在需要托管一个带有指定应用链接的“签名 json 文件”。那里的关键词是“签名”。 此文件需要使用有效的 SSL 证书和私钥进行签名。(清单 2-7 和 2-8)
在 twitter 上,有人告诉我签名证书不必与实际网站的域 SSL 证书匹配,但自签名证书将不起作用。
因此,一种解决方法是简单地购买您自己的 SSL 证书并使用此证书对其进行签名。
我很好奇我们这些在 Google App Engine 上托管 API 和网站和/或使用 Google Cloud Endpoints 的人还有哪些其他选择,因为我认为 Google 不会将他们的通配符 ssl 证书和私钥交给我们使用;)
2015 年 8 月 5 日更新
要托管 apple-app-site-association 文件,我必须手动打开它并在调用 webapp2 处理程序时将其吐出,如下所示:
class GetAppleAppSiteAssoc(webapp2.RequestHandler):
def get(self):
showAppleAppSiteAssoc(self)
def showAppleAppSiteAssoc(self):
logging.info("Enter showAppleAppSiteAssoc()")
path = os.path.join(os.path.dirname(__file__), 'apple-app-site-association')
fileContents = open(path).read()
self.response.headers['Content-Type'] = 'application/pkcs7-mime'
self.response.out.write(fileContents)
return
app = webapp2.WSGIApplication([('/', MainHandler),
('/apple-app-site-association', GetAppleAppSiteAssoc)],
debug=True)
目前遇到与这篇文章类似的问题,并尝试使用我的 iOS 分发证书以及工作中的有效证书进行签名。
2015 年 8 月 10 日更新
让我们的开发运维人员在工作中使用 CA 和中间证书签名并上传它,它就成功了!
不过,仍然对其他解决方案感到好奇……iOS 分发证书不起作用似乎很奇怪。