高通加密狗生产方案

加密狗实现方法

一,在vendor下做个服务vendor_openssl_diag用于监视diag口信息

添加vendor_openssl 文件到 Z:\qics1003\vendor\qcom\proprietary\diag\

二,用openssl rsa api实现 如下功能,供1步骤中调用。

intEnc_with_public_key(const unsigned char *in,unsigned char *out);

intEnc_with_private_key(const unsigned char *in,unsigned char *out);

intDec_with_public_key(const unsigned char *in,unsigned char *out);

intDec_with_private_key(const unsigned char *in,unsigned char *out);

1,添加rsa_vendor.c到Z:\qics1003\external\openssl\crypto\rsa\

2,修改Z:\qics1003\external\openssl\include\openssl\rsa.h

3,修改Z:\qics1003\external\openssl\crypto\Android.mk,编译rsa_vendor.c

三,在vendor下完成RPC通信,写加密狗鉴权成功信息到modem端

修改Z:\qics1003\vendor\qcom\proprietary\qcril\qcril_fusion\qcril_other.c

四,Modem端完成RPC通信,保存加密狗鉴权成功信息

修改E:\amss10045450\modem_proc\core\api\rapi\services\src\nv_svc.c

五,modem端,在写IMEI号时判断加密狗鉴权信息,成功则写IMEI,否则无权限写。

修改E:\amss10045450\modem_proc\core\services\nv\nvio.c

修改内容用宏VENDOR_DOG_CONFIG 控制,默认为未定义,使用加密狗鉴权的项目打开此宏即可

六,开机启动vendor_openssl_diag服务

修改Z:\qics1003\system\core\rootdir\init.rc

#zhang vendordog diag init

#service vendor_dog_diag /system/bin/vendor_openssl_diag

#class core

默认被屏蔽掉了,需要使用加密狗鉴权的项目打开即可。

猜你喜欢

转载自blog.csdn.net/junwua/article/details/80789792