域名托管在 Cloudflare,购买了他家$5/mo 的 ssl。问题来了, iOS 开启 HTTPS 时,要导入的证书在哪儿呢?各位大神是怎么化解的?

2017-11-28 12:11:50 +08:00
 paullee
场景:
1. 域名 api.xxx.com
2. 域名托管在 cloudflare 上,开启了 CDN,配置了 FULL 规则的 SSL
3. 浏览器访问 https://api.xxx.com 无问题
4. 现在 iOS 调用 https 接口是,研发哥哥告诉我需要提供 ssl 证书给他导入
5. 这我就很懵逼了,我购买 cloudflare 时,它并没有提供任何 SSL 证书下载地址呀
6. 已谷歌,CLoudflare 发 ticket 了,摸索一上午了都毫无头绪才来求教各路伙伴
7. 使用腾讯提供的“苹果 ATS 检测”,检测结果全都通过

问题:
1. 各位大神遇到这种场景都是怎么化解的呢?
2. 我不是搞 iOS 研发,我也不是运维。但我真心求教这个问题怎么搞?
4861 次点击
所在节点    CDN
18 条回复
Daylight1993
2017-11-28 12:13:33 +08:00
购买证书肯定有下载证书的地方的
paullee
2017-11-28 12:15:01 +08:00
@Daylight1993 一般来说是有下载的,可是 Cloudflare 这家弄死没找到下载证书的地方,我已经怀疑他家买的不是真正的证书了。
zpf124
2017-11-28 12:19:08 +08:00
有那么麻烦么...
浏览器访问域名,然后导出不行吗?
zpf124
2017-11-28 12:25:24 +08:00
然后,我不是 ios 程序猿多问一句啊,

ios 应用 https 不是通过访问去获取证书,再通过证书链去 ca 那验证证书是否可信,
而是通过 应用内置受信任的证书来验证 https 可信的?
paullee
2017-11-28 12:27:37 +08:00
@zpf124 哇,多谢,我之前在 Mac 下,各个浏览器都湿了,就是没找到保存文件的地方。刚才去 Window 系统下弄了一份下来。多谢,期望能解决问题
paullee
2017-11-28 12:28:42 +08:00
@zpf124 我也不是 iOS,这个问题我回答不了。我原本也以为是浏览器这种验证逻辑的
ryd994
2017-11-28 14:22:42 +08:00
拜托……那是人家送的多域名啊
你要自己可导出私钥的证书的话,有花钱买单域名独立证书
然而一般只是需要内嵌公钥用于验证而已
建议下根证书,不然过两天 CF 换了证书你就傻了
https://support.cloudflare.com/hc/en-us/articles/218689638-What-are-the-root-certificate-authorities-CAs-used-with-Cloudflare-Origin-CA-
jasontse
2017-11-28 14:25:47 +08:00
难道你家的 App 是静态写死证书?真有意思。
alect
2017-11-28 15:37:45 +08:00
cf 送的证书没法导出,就算是浏览器导出的也仅仅是证书没有私钥
ruimz
2017-11-28 15:46:28 +08:00
@ryd994
@alect
好奇问一句:你们回帖都不看标题吗?怎么看出来楼主用的是送的证书的了。
mornlight
2017-11-28 15:50:02 +08:00
iOS 那边需要证书通常是想把公钥 Pin 在代码里,不想被人抓包。导出公钥就行了,不过这种场景建议自己买证书,不然公钥一变客户端就 gg 了。
paullee
2017-11-28 15:53:48 +08:00
@ryd994
@jasontse
@alect
@ruimz

谢谢各位,已经按照 3 楼提供的方式,在 windows 系统下用 Chrome 导出一份证书了。确实只是需要导入到 App 中验证一下即可。

另,现在 App 的 https 接口已调通。
-------------------------------------
结贴
paullee
2017-11-28 15:57:45 +08:00
@mornlight 求教,在 Cloudflare 家购买的“ Dedicated SSL Certificates ” $5/mo, 导出的证书显示有效期为 1 年。这个问题应该也不大了吧。快到期前更新证书是不是就可以了哇?
mornlight
2017-11-28 16:03:14 +08:00
@paullee #13 但是你怎么保证用户会及时更新你的 App 客户端呢?如果用老的客户端,服务端证书一换,完了。
paullee
2017-11-28 16:06:45 +08:00
@mornlight 求教,这种场景可有一劳永逸的解决方案。因为现在我看到其他家卖的证书基本都是有一个有效期的,他们同样会遇到证书到期的问题。那这些证书用户一样会遇到这个场景的哇
mornlight
2017-11-28 16:17:54 +08:00
@paullee #15 买证书,用自己生成的公钥去签。证书到期后还能接着用这个公钥签新证书,客户端不用变。我印象中是这样子的流程。
alect
2017-11-28 18:00:34 +08:00
@ruimz cf 的证书可不就是相当于送的证书?哪里理解错误?
哦,你是说他花了五刀? 那也是部署在 cf 服务器上的不给私钥。
所以我说是送的。。
holulu
2017-12-03 11:35:14 +08:00
cf 哪有 5 刀每月的套餐。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/410160

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX