移动端配置SSL,分场景说
"移动端"这个词太宽了,得先搞清楚你说的是哪种。

场景一:手机App里用HTTPS(最常见)
App调后端接口,要HTTPS。其实跟PC端没区别:

证书放哪:

iOS:把.p12证书丢进项目的Resources,代码里用URLSession自动就认了。
Android:把证书放res/raw,用OkHttp的CertificatePinner固定证书指纹,防中间人。
关键代码(Android):

kotlin
val certificatePinner = CertificatePinner.Builder()

.add("yourdomain.com", "sha256/AAAAAAAAAA...") // 证书指纹
.build()

val client = OkHttpClient.Builder()

.certificatePinner(certificatePinner)
.build()

别偷懒: 必须做证书锁定(pinning),不然抓包工具一插就能看到明文。

场景二:手机浏览器访问你的网站
这个不用你在手机上配置什么。证书装在服务器上,手机浏览器自动验证。你要做的只是:

确保证书链完整(别漏了中间证书)
确保HTTPS强制跳转(Nginx那套直接用)
https://www.ssllabs.com/ssltest/测一下,手机访问没红屏就行。

场景三:给手机装自签名证书(内网/测试用)
公司内网环境,自己签发的证书,手机默认不认。

iOS:

证书导出.cer → 用邮件发给自己 → 手机打开附件 → 设置 → 通用 → 关于本机 → 证书信任设置 → 开启完全信任。
Android:

Android 7+不认用户装的CA了。得把证书放system/etc/security/cacerts/,需要root。或者更简单:用adb推送到设备的信任存储(部分ROM支持)。
几个坑
坑 后果 解决
证书链不完整 安卓报错"证书不可信" Nginx里把中间证书concat到crt后面
没做证书锁定 App被抓包,数据全裸 必须pin证书指纹
自签名证书没加信任 手机直接拦截连接 iOS手动信任,Android要root
TLS版本太低 部分新手机直接拒绝连接 最低TLS 1.2,推荐1.3
一句话:移动端配置SSL,90%的工作在服务器端,不在手机上。手机那头基本就是"装证书→信任"两步的事。

标签: none

评论已关闭

SSL证书 SSL证书购买 SSL证书申请 SSL证书价格 泛域名证书 通配符证书 通配符SSL证书 https证书 便宜SSL证书 便宜证书 SSL证书多少钱 申请SSL 域名SSL sectigo证书