Tizen Studio接入Clover云支付出现ERR_BAD_SSL_CLIENT_AUTH_CERT错误如何解决?
你遇到的ERR_BAD_SSL_CLIENT_AUTH_CERT错误是Tizen Studio内置的Chromium 56对客户端SSL认证证书的强校验规则导致的,你之前尝试的方案均针对服务端证书校验优化,未命中问题核心,可行解决方案如下:
开发环境解决方案
1. 导入Clover官方证书到Tizen信任存储
该错误是Clover SDK要求客户端携带官方认证证书发起请求导致,你自行生成的自签名证书不被Clover服务认可:
- 从Clover开发者后台下载SDK配套的客户端认证证书、根证书、中间证书全套文件
- 打开Tizen模拟器/测试设备的证书管理页,路径为
设置 > 隐私和安全 > 证书管理 > 受信任的凭据 > 用户,导入所有下载的证书 - 在项目
config.xml中添加对应权限配置:
<access origin="https://*.clover.com" subdomains="true" allow-certificate="true"/> <privilege>http://tizen.org/privilege/internet</privilege> <privilege>http://tizen.org/privilege/securesysteminfo</privilege>
2. 配置模拟器Chromium启动参数绕过校验
你之前修改的是本地Chrome的flags,需要修改Tizen模拟器启动时给内置Chromium传递的参数:
- 打开Tizen Studio安装目录下的
tools/emulator/bin/emulator.sh(Windows系统为emulator.bat) - 找到Chromium启动参数配置段,追加如下参数:
--ignore-certificate-errors --allow-running-insecure-content --ignore-urlfetcher-cert-requests - 保存文件后重启模拟器,所有SSL证书校验逻辑会被开发环境临时跳过,不影响功能调试
3. 本地代理转发绕开前端证书校验
如果上述方案不生效,可通过本地代理把证书校验逻辑转移到代理层处理,绕过前端Chromium的校验规则:
- 在Angular项目根目录新增
proxy.conf.json配置文件:
{ "/clover-api": { "target": "https://api.clover.com", "secure": false, "changeOrigin": true, "pathRewrite": {"^/clover-api": ""} } }
- 修改
package.json中的启动命令为:ng serve --open --proxy-config proxy.conf.json - 项目内所有Clover相关请求统一发往
/clover-api前缀的路径,由本地代理完成转发和SSL校验,无需前端Chromium处理
生产环境适配注意事项
- 正式打包上架前必须移除所有绕过证书校验的配置,确保所有请求携带Clover官方客户端认证证书发起
- 确认
config.xml中所有Clover相关域名的访问权限、证书权限已正确配置 - 打包前测试真机环境的支付流程,确认证书校验逻辑正常
内容的提问来源于stack exchange,提问作者Dave Lee
相关产品推荐
相关产品推荐

