收藏
回答

智慧硬件--device_signature签名老是错误

智慧硬件--获取SecretNo的时候老是说签名错误

请仔细说明或者出一个案例说明一下这些参数的具体意思和拼接。主要是签名这个参数(device_signature)的组装,我无论咋个组装,弄出来的签名始终是不正确的。

1、还是说我调用接口的时候必须要使《服务商后台》创建的应用“安装测试通过”?

2、device_signature参数生成的时候有个secret_no的常量,这个东西是直接传递给你“secret_no”还是说我可以传“123”这样子来区分我的场景?

3、seedSecretNo参数和secret_no参数,以及初始secretNo参数,这三个参数让我傻傻分不清楚。


一下是我对生成device_signature的文档的理解:

原文:device_signature = sha1(sort(sn、seedSecretNo、timestamp、nonce, “secret_no”))

例如:

sn = 111  

seedSecretNo=222

timestamp = 333

nonce=444

secret_no=555

组合起来则是 device_signature = sha1(sort(111222333444555))

以上是我的理解,原谅我才进入这个智慧硬件开发行列,如有大神指点指点万分感激。谢谢



PS官方文档链接:https://work.weixin.qq.com/api/doc#90002/90150/91369

回答关注问题邀请回答
收藏

2 个回答

  • 企业微信运营专员-千夜
    企业微信运营专员-千夜
    2019-12-09

    您好,get_secretno这个接口是为了给在服务商后台选中了使用同一初始secretno的设备使用的,如果没有在服务商后台勾选同一初始secretno,可以直接跳过这一步发起注册网络链接,需要调用时,传的secretno参数为常量参与设备签名计算

    2019-12-09
    有用
    回复 4
    • 雕宝宝
      雕宝宝
      2020-05-28
      好的,谢谢。有时间我再去试试
      2020-05-28
      回复
    • 东隅
      东隅
      2020-06-21回复雕宝宝
      老哥 你问题解决了么,我也遇到了一样的问题了
      2020-06-21
      回复
    • 雕宝宝
      雕宝宝
      2020-07-08
      没有哦。感觉这个描述得太模糊了。主要是最近没有去玩这个了。住院了。大家都注意保重身体啊
      2020-07-08
      回复
    • 孑
      2021-01-29回复雕宝宝
      老哥,最后怎么解决?
      2021-01-29
      回复
  • 宇超
    宇超
    2020-11-10
    部分设备希望在生产时烧录同一个SecretNo以降低生产成本,管理员可在服务商管理端添加设备时勾选“该型号设备使用同一个初始SecretNo”(如下图),勾选此选项后,此型号下登记sn得到均为seedSecreteNo(初始secretNo),此类型的secretNo仅可应用于“获取SecretNo(get_secret_no)”接口来将统一的seedSecretNo换为每个设备独立的SecretNo,成功换取之后设备可通过新得到的secretNo发起“注册网络”请求。
    



    我也遇到相同的问题,这一段问题描述的比较模糊,对于勾选同一初始secretNo,一开始不理解这个secretNo值是什么,“seedSecreteNo”?签名一直是非法的,仔细看才知道登记SN时微信会生成一个secretNo初始值,长度为32。

    我理解如下

    原文:device_signature = sha1(sort(sn、seedSecretNo、timestamp、nonce, “secret_no”))

    例如:

    sn = 111

    seedSecretNo=22222222222222222222222222222222(由微信后台生成,应该是每一类型号设备唯一)

    timestamp = 333

    nonce=444

    secret_no=secret_no

    组合起来则是 device_signature = sha1(11122222222222222222222222222222222333444secret_no) = 721798b80b870632bab293b102686d4400484ea1


    2020-11-10
    有用
    回复 1
    • 大符
      大符
      2020-12-09
      请问是这样的吗?我按这样试了还是返回无效的签名呢
      2020-12-09
      回复
登录 后发表内容
问题标签