问题描述
在飞牛NAS中正确配置了由 泰尔认证中心有限公司 颁发的商用DV SSL证书后,通过同一台Android手机上的飞牛APP访问服务时,会持续弹出 “访问不安全 - 该证书未被信任” 的警告。然而,使用同一部手机的Chrome、Edge等浏览器访问完全相同的HTTPS地址,连接正常且显示为安全,无任何警告。
这明确表明证书在系统层面是有效且受信任的,问题出在飞牛APP自身的证书校验逻辑上。
问题复现步骤
- 证书配置:
在fnOS后台的“设置 > 安全性 > 证书”页面,严格遵循界面指引,分别上传了证书文件:
- 证书:粘贴
certificate.crt 的内容。
- 私钥:粘贴
private.key 的内容。
- 中间证书:粘贴
ca_certificate.crt 的内容。
(证书文件详情:公用名 TLC DV TLS CA,颁发机构为 泰尔认证中心有限公司)
- 访问测试:
- 飞牛APP访问:在局域网内,使用飞牛APP(版本
[fnOS 1.0.0])通过域名访问并开启HTTPS访问NAS。结果:出现安全警告。
- 浏览器对比访问:在同一台手机上,立即使用Chrome浏览器访问完全相同的地址
https://[域名]。结果:连接成功,显示为安全连接。(浏览器域名访问使用的是Nginx实现并配置了在飞牛APP上一样的证书文件)
预期结果
期望飞牛APP能采用与Android系统标准浏览器(如Chrome)一致的证书信任策略。对于已在操作系统全局信任库中被验证为有效的证书(如此次由“泰尔认证中心”颁发的证书),APP应能正常建立安全的HTTPS连接,而非报错。
补充分析与建议
此问题强烈指向飞牛APP可能使用了自定义的、非系统全局的证书信任库,或者在校验逻辑上存在Bug,导致其未能识别某些合规的国内或国际证书颁发机构。
为了提升兼容性和用户体验,建议开发团队:
- 优先采用系统信任链:检查并修正APP的证书验证模块,使其默认依赖并遵循Android操作系统的全局可信证书列表。
- 增强错误信息:如果确实需要限制CA,应在警告弹窗中给出更具体的原因(例如:“不信任的证书颁发机构”),而不仅仅是笼统的“不安全”,以便用户排查。
- 全面测试证书兼容性:对市面上主流的证书颁发机构(尤其是国内常见的CA)进行兼容性测试,确保其签发的证书能被APP正确识别。