0 指定指纹文件目录:export HASPUSER_PREFIX=/XXX/
授权成功后把上面这句export命令放到/etc/profile中
1 生成指纹文件
./hasp_update_xxx f fingerprint.c2v
2 生成授权文件
python get_auth_file.py --key 3516CV500FaceCapture-twostage.
cert(.cert) --fp fingerprint.c2v --active 3516CV500FaceCaptureactive.
code(.code)
3 授权
./hasp_update_xxx u authFile.v2c
Python版本2.7
python执行时问题,少Requests
pip install Requests
附录
嵌入式云端授权操作指南
前言:请认真阅读以下授权说明,尤其是标黄字体,标黄字体对您常遇到的授权问题会有很大帮助。
1、获取通讯认证文件、激活码
登录软件客服中心https://srp.megvii.com,获取通讯认证文件、双重认证文件、激活
码,如下图:
- 单一认证:客户所有授权计数都在里面。
- 双重认证:客户的用户想授权,客户给一个激活码文件+二重认证key 给他的用户,让他
可以激活一次(避免把所有授权计数都给用户) - 产品名称:SDK 名称
- 产品类型:正式/试用
- 单次授权有效期(天):正式(36500)/试用(默认30)
2、获取指纹信息
注:
(1)、若是HISI 平台SDK,请在板卡端执行,或者板卡mount 挂载到虚拟机/服务器
上。若是X86 服务器平台SDK,请直接在服务器上执行。
(2)、板卡不能用nfs 挂载的文件系统,否则会导致hash 过短或不正确。一、指定指纹文件目录:export HASPUSER_PREFIX=/home/….
注:指纹文件(也就是授权文件秘钥)目录需要单独创建,是空的文件夹,有读写权限。二、生成c2v 文件
执行: ./hasp_update_xxx f fingerprint.c2v
打开fingerprint.c2v,检查一下hash 的值,如果太短,则指纹文件目录路径有问题,
请重新指定目录并给读写权限。3、生成设备授权文件
注:若是HISI 平台SDK,请在服务器/虚拟机上执行。一、单一认证方法
执行:python get_auth_file.py --key 3516CV500FaceCapture-onestage. cert(*.cert) --fp fingerprint.c2v
说明:
--key 参数 :单一认证通讯文件
--pf 参数 :设备指纹文件名
运行结果:
成功打印结果 :get auth file ok , 设备授权文件:authFile.v2c
失败打印结果 :
错误信息 | 原因 | 处理方法 |
---|---|---|
detail: auth key invalid | 通讯认证文件非法 | 到网站上重新获取通讯认文件 |
--key input invalid | 通讯认证文件非法 | 到网站上重新获取通讯认证文件 |
false to get auth file | 授权失败 | 可能是指纹文件非法 |
二、双重认证方法
执行:python get_auth_file.py --key 3516CV500FaceCapture-twostage.
cert(.cert) --fp fingerprint.c2v --active 3516CV500FaceCaptureactive.
code(.code)
说明:
--key 参数 :双重认证通讯文件
--pf 参数 :设备指纹文件名
--active 参数:激活码文件名
运行结果:
成功打印结果 :get auth file ok , 设备授权文件:authFile.v2c
失败打印结果 :
错误信息 | 原因 | 处理方法 |
---|---|---|
active code invalid | 激活码非法 | 到网站上重新获取激活码文件 |
--key input invalid | 通讯认证文件非法 | 到网站上重新获取通讯认证文件 |
false to get auth file | 授权失败 | 可能是指纹文件非法 |
4、授权
注:若是HISI 平台SDK,请在板卡端执行,或者板卡mount 挂载到虚拟机/服务器上。若
是X86 服务器平台SDK,请直接在服务器上执行。
(1) 压缩授权目录大小:export HASPUSER_CLUSTERS=1000 //压缩授权目录空间大小
(2) 执行:mkdir /dev/shm;mount -t tmpfs shmfs -o size=1g /dev/shm(加密厂商
的内部实现,会往里面写些东西)
(3) 对设备进行授权 ./hasp_update_xxx u authFile.v2c(如果输出unknow info
error 或者无输出,则授权成功。如果授权已成功再次执行此命令,会报hasp_update
failed with status 65)
5、重启设备后授权
注:若是HISI 平台SDK,请在板卡端执行,或者板卡mount 挂载到虚拟机/服务器上。若
是X86 服务器平台SDK,请直接在服务器上执行。
重启设备后环境变量、加密厂商的内部实现目录都有可能被清掉,请执行以下命令:
export HASPUSER_PREFIX=xxx; export HASPUSER_CLUSTERS=1000; mkdir /dev/shm;mount -t tmpfs shmfs
-o size=1g /dev/shm
6、验证授权成功
1、运行Demo,可正常打印信息
2、部分SDK 包中licence 文件夹会提供软授权验证工具,himix100_auth_check.tar 或
himix200_auth_check.tar 等,如没有则证明暂时没有软授权验证工具。
3.如果运行软授权验证工具有类似如下警告,请执行:mkdir /dev/shm;mount -t tmpfs
shmfs -o size=1g /dev/shm (加密厂商的内部实现,会往里面写些东西)
HASPUSER_PREFIX defined
himix200 system
check auth false
Warnning!! please input as: mkdir /dev/shm;mount -t tmpfs shmfs -o size=1g
/dev/shm
7、软授权错误排查FAQ
Q:软授权无法用gdb 调试,且使用SDK 集成时如果有段错误,系统不能产生core 文件?
A:软授权版本对算法库进行了文件加密,该动态库无法被gdb 调试,也无法在段错误产生后生成
core 文件。
Q:软授权客户在使用试用版本时出现修改系统时间到最后一次运行SDK 的之前时间,SDK 报授权错
误?
A:此问题是试用软授权的共性问题(试用版本有时间限制),正式软授权无此问题。
Q:执行时软授权报错:Sentinel LDK Protection System: Sentinel key not found (H0007)
A:此问题是由于没有指定指纹文件路径,请执行export HASPUSER_PREFIX=xxx; export
HASPUSER_CLUSTERS=1000; mkdir /dev/shm;mount -t tmpfs shmfs -o size=1g /dev/shm
Q:执行demo 时软授权报错:./face_video_capture 报错Sentinel LDK Protection System: Feature not
found (H0031)
A:指纹文件类型不对,此时需要检查get_authed_v2c.py 中的”sdk_type=”(CBG_SDK 类型
FaceCapture(抓拍)/ CBG_SDK 类型FaceReco(识别))是否与SDK 包对应。
SDK 压缩包名称中包含CR99 或CRB99 或 CRC99等字段为识别版本SDK,包含C99 或 HC99等
字段为抓拍版本SDK。
注:此问题需要删掉指纹文件目录重新进行软授权。