HarmonyOS 可信地理位置,服务端验签失败

目前客户端可以正常生成证书链,getCurrentSecureLocation正常获取数据,数据见图片

目前可以正常解析证书链获取公钥,但是示例中会有challenge值,实际我们解析没有challenge,还有个问题是待签名数据,具体是什么,文档的规则是

对安全地理位置数据验签时,需要将返回的结构体中的数据拼接成字符串形式,格式要求如下:

数据排列顺序为:纬度、经度、高度、精确度、时间戳和用户数据。

纬度、经度和高度类型为浮点型,精度为小数点后保留15位;精确度为浮点型,精度为小数点后保留6位;时间戳类型为64位正整数;用户数据类型为字符串。

数据之间的分隔符使用英文逗号。

按这个规则生成了signedData,但是验证结果都是false,

HarmonyOS 可信地理位置,服务端验签失败 -鸿蒙开发者社区

HarmonyOS
2024-12-25 15:21:09
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get
console.log("location 签名后的数据", JSON.stringify(this.secureLocationData))
console.log('location latitude 维度==>' + secureLocation['originalLocation'].latitude.toFixed(15))
console.log('location longitude 经度==>' + secureLocation['originalLocation'].longitude.toFixed(15))
console.log('location altitude 高度==>' + secureLocation['originalLocation'].altitude.toFixed(15))
console.log('location accuracy 精确度==>' + secureLocation['originalLocation'].accuracy.toFixed(6))
console.log('location timeStamp 时间戳==>' + secureLocation['originalLocation'].timeStamp + "==" + timeStamp)
console.log('location userData 用户数据==>' + secureLocation['userData'])

this.secureLocationData = (secureLocation['originalLocation'].latitude.toFixed(15)) + ","
  + (secureLocation['originalLocation'].longitude.toFixed(15)) + ","
  + (secureLocation['originalLocation'].altitude.toFixed(15)) + ","
  + (secureLocation['originalLocation'].accuracy.toFixed(6)) + ","
  + timeStamp + ","
  + secureLocation['userData']

使用上面的写法,对于小数点要精确

分享
微博
QQ
微信
回复
2024-12-25 18:52:15
相关问题
HarmonyOS 安全地理位置
298浏览 • 1回复 待解决
MySQL 如何按照地理位置排序?
2926浏览 • 1回复 待解决
HarmonyOS sm2失败
353浏览 • 1回复 待解决
RSA签名后,后端失败
412浏览 • 1回复 待解决
获取安全地理位置信息接口的实现
590浏览 • 1回复 待解决
huks sm2签名失败
498浏览 • 1回复 待解决
HarmonyOS RSA签名相关
214浏览 • 1回复 待解决
HarmonyOS 华为支付签名
466浏览 • 1回复 待解决
HarmonyOS HarmonyOS签名问题
204浏览 • 1回复 待解决
鸿蒙能开发服务端吗?
5518浏览 • 2回复 待解决
HarmonyOS SM3
258浏览 • 1回复 待解决
HarmonyOS POST请求,服务端拿不到数据
466浏览 • 1回复 待解决