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

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

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

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

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

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

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

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

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

HarmonyOS
1天前
浏览
收藏 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
微信
回复
1天前
相关问题
MySQL 如何按照地理位置排序?
2776浏览 • 1回复 待解决
RSA签名后,后端失败
213浏览 • 1回复 待解决
HarmonyOS sm2失败
76浏览 • 1回复 待解决
获取安全地理位置信息接口的实现
423浏览 • 1回复 待解决
huks sm2签名失败
256浏览 • 1回复 待解决
鸿蒙能开发服务端吗?
5308浏览 • 2回复 待解决
HarmonyOS 华为支付签名
238浏览 • 1回复 待解决
HarmonyOS RSA签名相关
40浏览 • 1回复 待解决
svn客户和svn服务端版本不同。
2365浏览 • 1回复 待解决
HarmonyOS HarmonyOS签名问题
34浏览 • 1回复 待解决
HarmonyOS 服务端JSON字符串解析问题
593浏览 • 1回复 待解决
HarmonyOS SM3
40浏览 • 1回复 待解决
HarmonyOS Push Kit 缺少服务端sdk的demo
337浏览 • 1回复 待解决