jbo电子游戏
13482583038宁夏jbo棋牌:技术资料
jbo加密jbo应用开发手册(四)
7. jbo_API库函数详细介绍
这章节主讲jbo_API函数的详细介绍的第一部分系统函数
7.1. 系统函数:
7.1.1. 获取API版本
u8_x *jbo_Version(void);
功能描述: 获取jbo_API版本
参数: void
关注值: 字符串指针
示例代码:;
char *apiVersion = jbo_Version();
printf(“Version = %s\n”, apiVersion);
7.1.2. 复位设备
u8_x jbo_Reset(void);
功能描述:复位jbojbo,并获取jbo的配置信息
参数: void
关注值: 成功关注0,否则关注错误代码
示例代码:
u8_x rv;
rv = jbo_Reset();
if (rv) {
printf(“Reset device failed, rv = 0x%.2x\n”, rv);
return rv;
}
jbo_Reset获取jbojbo的配置信息存储在CHIP_INFO jbo_info结构体中,jbo_info在库中已经定义,在jbo_API.h头文件extern 出来了,用户可以直接访问jbo_info来获取jbo的信息,如SN、UID和Zone的配置模式等:
CHIP_INFO结构体C定义: CHIP_INFO结构体Java类定义:
jbo1/jbo2jbo基本信息列表:
Product |
Type |
PageSize (Bytes) |
ZoneNum |
ZoneSize (Bytes) |
EEPROM (Bits) |
jbo1系列jbo |
|||||
jbo1C01 |
0x10 |
16 |
4 |
32 |
1K |
jbo1C02 |
0x11 |
4 |
64 |
2K |
|
jbo1C04 |
0x12 |
4 |
128 |
4K |
|
jbo1C08 |
0x13 |
32 |
8 |
128 |
8K |
jbo1C16 |
0x14 |
16 |
128 |
16K |
|
jbo1C32 |
0x15 |
16 |
256 |
32K |
|
jbo1C64 |
0x16 |
16 |
512 |
64K |
|
jbo1C128 |
0x17 |
64 |
16 |
1024 |
128K |
jbo1C256 |
0x18 |
16 |
2048 |
256K |
|
jbo2系列jbo |
|||||
jbo2C01 |
0x20 |
16 |
4 |
32 |
1K |
jbo2C02 |
0x21 |
4 |
64 |
2K |
|
jbo2C04 |
0x22 |
4 |
128 |
4K |
|
jbo2C08 |
0x23 |
32 |
8 |
128 |
8K |
jbo2C16 |
0x24 |
16 |
128 |
16K |
|
jbo2C32 |
0x25 |
16 |
256 |
32K |
|
jbo2C64 |
0x26 |
16 |
512 |
64K |
|
jbo2C128 |
0x27 |
64 |
16 |
1024 |
128K |
jbo2C256 |
0x28 |
16 |
2048 |
256K |
SN: 8个字节,每颗jbo有全球唯一的序列号,永远无法修改
UID:7个字节,用户可以对每个产品自行设置ID号,设置后可锁定,永远无法修改,出厂时为全0xff
MID:6个字节,厂商代码,只读
ZoneMode:16个字节,每个字节对应一个Zone的配置信息,配置完成后将锁定,将永远无法修改,每个字节定义如下:
Fuse:1个OTP字节,该字节每bit只能从1写成0, 0永远无法再变成1,该字节每bit代表相应配置信息的锁定状态,定义如下:
说明:jbojbo经专用烧录器个人化后,Fuse字节为0x00,即配置全部锁定。
7.1.3. 睡眠
u8_x jbo_Sleep(void);
功能描述:使jbojbo进入睡眠状态
参数: void
关注值: 成功关注0,否则关注错误代码
示例代码:
u8_x rv;
rv = jbo_Sleep();
if (rv) {
printf(“Sleep device failed, rv = 0x%.2x\n”, rv);
return rv;
}
7.1.4. 唤醒
u8_x jbo_Wakeup(void);
功能描述:唤醒jbojbo进入工作状态,jbo_Reset()函数也可以唤醒jbojbo
参数: void
关注值: 成功关注0,否则关注错误代码
示例代码:
u8_x rv;
rv = jbo_Wakeup();
if (rv) {
printf(“Wakeup device failed, rv = 0x%.2x\n”, rv);
return rv;
}
7.1.5. 获取随机数
u8_x jbo_GetRandom(u8_x *random, u8_x len);
功能描述:从jbojbo中获取真随机数,长度必须不大于32
参数: random 关注的随机数存储buffer
len 获取随机数的长度,最小为1,最大为32
关注值: 成功关注0,否则关注错误代码
示例代码:
u8_x rv;
u8_x random[32];
rv = jbo_GetRandom(random, 32);
if (rv) {
printf(“Get Random failed, rv = 0x%.2x\n”, rv);
return rv;
}
7.1.6. 验证PIN
u8_x jbo_VerifyPin(u8_x *seed, u8_x *buf);
功能描述:验证PIN,主机对jbo进行验证,同时jbo对主机进行验证
参数: seed 输入32个字节的随机数,主机对jbo进行认证
buf 输入8个字节PIN码,jbo对主机进行认证
关注值: 验证通过关注0,否则关注错误代码
说明:该函数不会将用户PIN码暴漏在传输线上,PIN码本身是对jbo配置权限作认证的,当jbo配置被全部锁定后,该函数任然可以用作Passwords Checking双向认证功能,jbo出厂PIN码为8个0xff
示例代码:
u8_x rv;
u8_x seed[32];
GetSoftRandom(seed,32);
rv = jbo_VerifyPin(seed, pin_value);
if (rv) {
printf(“Verify PIN failed, rv = 0x%.2x\n”, rv);
return rv;
}
说明:pin_value是在使用jboConfiguration.exe时产生的jbo_engineer.h中定义,需要将jbo_engineer.h包含到应用程序中
待续......
【关注列表】jbo赌场娱乐
- jbo加密jbo应用开发手册(六)2017-09-05
- jbo加密jbo应用开发手册(五)2017-09-03
- jbo加密jbo应用开发手册(三)2017-08-31
- jbo加密jbo应用开发手册(二)2017-08-30
- jbo加密jbo应用开发手册(一)2017-08-29