风行天下12312
风行天下12312
  • 发布:2022-07-20 17:39
  • 更新:2022-07-25 17:42
  • 阅读:652

11222

分类:uni-app

已经解决

2022-07-20 17:39 负责人:DCloud_iOS_XHY 分享
已邀请:
DCloud_iOS_XHY

DCloud_iOS_XHY

提供一个完整的示例工程

风行天下12312

风行天下12312 (作者)

证书存放目录为:static,代码测试运行在根目录App.vue中

  • 证书密码:tihai822131
  • 测试示例和证书文件均上传
  • 我从腾讯云下载证书之后,是JKS格式,我使用openssl转成了p12格式
  • 转换命令为:mac执行(其中[证书.jks]换成证书文件夹的证书名字即可,其他别名或者密码,我均已经正确配置,直接执行即可,第二个附件是从腾讯云下载的原封不动)
    keytool -importkeystore -srckeystore 证书.jks -destkeystore 证书.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass tihai822131 -deststorepass tihai822131 -srckeypass tihai822131 -destkeypass tihai822131 -srcalias security-app.itihey.com -destalias security-app.itihey.com -noprompt

安卓运行结果(正常)

20:45:09.098 App Show at App.vue:7
20:45:09.123 设置证书结果{"errMsg":"configMTLS:ok","code":0} at App.vue:16
20:45:10.097 请求结果{"timestamp":"2022-07-20T12:45:10.111+0000","status":404,"error":"Not Found","message":"No message available","path":"/api"} at App.vue:21

IOS运行结果(异常)

20:45:10.584 App Show at App.vue:7
20:45:10.609 设置证书结果{"errMsg":"configMTLS:ok","code":0} at App.vue:16
20:45:10.634 请求异常{"errMsg":"request:fail abort statusCode:-1 服务器“security-app.itihey.com”要求客户端证书。(-1206)"} at App.vue:23

DCloud_iOS_XHY

DCloud_iOS_XHY

排查了发现客户端的证书已经提交了,现在需要你们从后端看一下具体是什么原因

风行天下12312

风行天下12312 (作者)

如果不提交证书,后端服务器会返回403,用了p12证书才可以通过请求,并且postman也测试了,postman不设置证书,请求接口403,设置证书之后,请求接口正常,postman和安卓都正常的,就是苹果提示这个,并且没有返回接口的任何信息,在uni截断了,提示request:fail abort statusCode:-1 服务器“security-app.itihey.com”要求客户端证书。(-1206)"}

DCloud_iOS_XHY

DCloud_iOS_XHY

问题已确认,p12证书里面包含中间证书时会存在证书提交不全的问题,导致服务器校验不通过,下个版本会修复此问题

该问题目前已经被锁定, 无法添加新回复