本文介绍ID²使用过程中的常见问题。

ID²许可证编号位数是否固定不变?

是的,固定长度24字节。

申请ID²烧录许可证是否收费?

申请ID²烧录许可证是免费的,但需要审批。ID²认证授权是收费的,需要按量购买。

ID²烧录许可证中单次申请最大的额度是?

单次申请最大的额度为100万个ID²,请您按实际需要申请。

同一个authCode为什么第二次认证返回失败?

一个authCode只能认证一次,请调用设备端API重新生成后再进行第二次认证。

为什么解密数据返回失败?

ID²设备端为一机一密,每个设备密钥不同,输入的密文数据也会不同。需要使用ID² Server加密后再交给设备端解密。

生成的authCode第一次认证时返回失败?

请从以下五个方面检查:

  • 检查authCode的认证是否在有效时间内。
  • 检查发送到服务端的ID²是否正确。可调用id2_client_get_id接口,获取正确的ID²。
  • 如果采用挑战应答方式(challenge-response)认证,请确认传入ID² Client的参数challenge是从服务端获取的。
  • 如果采用时间戳方式认证,请确认传入ID² Client接口的时间戳精度为毫秒级,否则会因为时间戳重复导致认证失败。
  • 检查irot_pal_get_random接口产生随机数的随机性。

extra的用途是什么,是否需要设置extra参数?

extra参数用于验证设备端发送给服务端的数据的完整性,在此场景下需要设置,否则传入NULL即可。

extra参数最大长度支持512字节。

若设备端生成authCode时使用了extra参数,那么sp server认证ID² server时也要设置extra参数。

iTLS连接不上服务端

请从以下两个方面检查:

  • 检查网络是否正常。
  • 检查是否连接的是线上环境。

iTLS握手错误码0x7780

请从以下三个方面检查:

  • 创建产品过程中,是否已开通ID²认证服务。
  • 若使用ID²动态下发iTLS握手请求,请确定是否已申请动态下发权限。
  • 确认ID²是否已绑定其他产品的ProductKey。若设备需要切换产品,请先清空设备的ID²数据。

iTLS握手错误码0x7200

请从以下三个方面检查:

  • 确定运行的栈是否溢出,若溢出,需要调大栈空间后再测试。
  • 若通过AT指令传输数据,需要先测试AT指令的基本功能。
  • 在调试日志中,确定服务端发送的数据长度是否超过设备端接收数据的阈值。

iTLS握手错误码0x7100

检查是否使用了未开通ID²服务的ProductSecret。