新底层密钥体系详解412教材.docx
- 文档编号:805511
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:14
- 大小:39.61KB
新底层密钥体系详解412教材.docx
《新底层密钥体系详解412教材.docx》由会员分享,可在线阅读,更多相关《新底层密钥体系详解412教材.docx(14页珍藏版)》请在冰豆网上搜索。
新底层密钥体系详解412教材
1使用流程
以下写的都是针对新底层安全库部分的用法
2使用注意事项
a.每次开机进入应用程序一定要做密码键盘初始化,初始化过程实现自动检测密码键盘类型和密码键盘bps。
b.第一次装载密钥建议初始化密钥区,如果是825-6初始化时间大约30秒左右
c.为显示上兼容,在密码键盘上显示时一行内容不要超过15个字节,显示完后请调用PubClrPinPad函数恢复默认显示。
d.由于zt579e18不支持显示汉字,zt579c47显示汉字方式和nl系列密码键盘不同,建议在程序中不要显示汉字,都用英文显示,否则程序要增加判断密码键盘类型。
e.nl825-6密码键盘支持0-167组密钥,由于考虑到x993des算法的兼容,在每装载一组密钥时库里面自动多装载一次,因此实际的密码组数是0~73,因新的密钥体系外接密码键盘部分支持Pin、Mac、Track、Data四组密钥,所以实际密码组数是0-36。
f.在调用PubGetPin取密码时,如果按确认键返回表示无密码,此时可以通过第一个输出参数pszPin是否有内容来判断是否有密码。
g.在中行IST版程序中如果是3DES密钥,由于主密钥不能参加MAC运算,因此需要将主密钥当作工作密钥再保存一次。
3接口说明
3.1PubInitSecrity
函数名称:
intPubInitSecrity(intnMode,constSTPINPADPARAM*pstPinpadParam);
函数介绍:
初始化安全库
函数描述:
完成密码键盘自适应、设置波特率、密码键盘类型的初始化工作,指定初始化内置还是外接密码键盘。
入口参数:
nMode详见:
EM_SECRITY_MODE
STPINPADPARAM:
密码键盘参数
出口参数:
无
返回值:
APP_SUCC成功
其它失败
3.2PubSetCurrentMainKeyIndex
函数名称:
intPubSetCurrentMainKeyIndex(intnIndex)
函数介绍:
设置当前主密钥索引号
函数描述:
无
入口参数:
nIndex索引号
出口参数:
无
返回值:
APP_SUCC成功
其它失败
3.3PubLoadMainKey
函数名称:
intPubLoadMainKey(intnIndex,constchar*psKey,intnKeyLen)
函数介绍:
安装主密钥
函数描述:
无
入口参数:
nIndex索引号
psKey主密钥明文(BCD码)
nKeyLen主密钥长度8字节或16字节
出口参数:
无
返回值:
APP_SUCC成功
其它失败
3.4PubLoadWorkKey
函数名称:
intPubLoadWorkKey(intnKeyType,constchar*psKey,intnKeyLen,constchar*psCheckValue)
函数介绍:
安装工作密钥
函数描述:
无
入口参数:
nKeyType安装的工作密钥类型(详见:
EM_KEY_TYPE)
psKey工作密钥密文(BCD码)
nKeyLen工作密钥长度8字节或16字节
出口参数:
psCheckValue校验值
返回值:
APP_SUCC成功
其它失败
3.5PubGetPin
函数名称:
intPubGetPin(char*pszPin,int*pnPinLen,intnMode,constchar*pszCardno,constchar*pszAmount,intnMaxLen,intnMinLen);
函数介绍:
获取Pin
函数描述:
支持多种加密算法。
实现密码最大最小长度的设置,显示无密码时,按确认键。
密码输入提示在第二行、输入时以星号显示,密码输完,清除屏幕到默认状态;
入口参数:
nMode密码加密模式(详见:
EM_PIN_TYPE)
pszCardno卡号
pszAmount金额
nMaxLen最大的密码长度
nMinLen最小的密码长度
出口参数:
pszPin输入的Pin
pnPinLen输入Pin的长度
返回值:
APP_SUCC成功
其它失败
3.6PubGetPinExtern
函数名称:
intPubGetPinExtern(char*pszPin,int*pnPinLen,intnMode,constchar*pszCardno,intnMaxLen,intnMinLen,void(*ShowFunc)());
函数介绍:
获取Pin
函数描述:
支持自定义POS界面显示函数
入口参数:
nMode密码加密模式(详见:
EM_PIN_TYPE)
pszCardno卡号
nMaxLen最大的密码长度
nMinLen最小的密码长度
ShowFunc显示函数
出口参数:
pszPin输入的Pin
pnPinLen输入Pin的长度
返回值:
APP_SUCC成功
其它失败
3.7PubCalcMac
函数名称:
intPubCalcMac(intnMode,constchar*psData,intnDataLen,char*psMac);
函数介绍:
获取Mac
函数描述:
无
入口参数:
nMode计算Mac算法类型(详见:
EM_MAC_TYPE)
psData计算Mac的数据
nDataLen数据长度
出口参数:
psMacMac值
返回值:
APP_SUCC成功
其它失败
3.8PubActiveKey
函数名称:
intPubActiveKey(intnMode,intnIndex,intnActiveKeyType);
函数介绍:
激活工作密钥
函数描述:
算mac及输入密码函数前需先调用此操作
入口参数:
nMode激活模式(DESMODE_DES、DESMODE_3DES)
nIndex索引号
nActiveKeyType激活的类型(0--KEY_TYPE_PIN/1--KEY_TYPE_MAC/2--KEY_TYPE_TRACK)
出口参数:
无
返回值:
APP_SUCC成功
其它失败
3.9PubClearKey
函数名称:
intPubClearKey(void);
函数介绍:
清空密钥区
函数描述:
无
入口参数:
无
出口参数:
无
返回值:
APP_SUCC成功
其它失败
3.10PubDispPinPad
函数名称:
intPubDispPinPad(intnLine,constchar*pszData);
函数介绍:
在密码键盘上显示数据
函数描述:
无
入口参数:
nLine指定的行1,2
pszData待显示的字符串
出口参数:
无
返回值:
APP_SUCC成功
其它失败
3.11PubClrPinPad
函数名称:
intPubClrPinPad(void);
函数介绍:
密码键盘恢复默认显示界面
函数描述:
无
入口参数:
无
出口参数:
无
返回值:
APP_SUCC成功
其它失败
3.12PubDispDot
函数名称:
intPubDispDot(intnLine,constchar*pszDotData,intnDataLen);
函数介绍:
在密码键盘液晶屏的指定行,显示中文字符串
函数描述:
无
入口参数:
nLine指定的行数1,2
pszDotData待显示的数据
nDataLen待显示的数据长度
出口参数:
无
返回值:
APP_SUCC成功
其它失败
3.13PubGetSecrityVerion
函数名称:
voidPubGetSecrityVerion(char*pszVer);
函数介绍:
获取安全模块版本
函数描述:
注意pszVer空间不能小于12个
入口参数:
无
出口参数:
pszVer12字节版本号
返回值:
APP_SUCC成功
其它失败
3.14PubDes
函数名称:
intPubDes(intnKeyType,constchar*psSrc,char*psDest);
函数介绍:
Des加密数据
函数描述:
无
入口参数:
nKeyType密钥类型(详见:
EM_KEY_TYPE)
psSrc数据(8字节BCD码)
出口参数:
psDest密文(8字节BCD码)
返回值:
APP_SUCC成功
其它失败
3.15PubUnDes
函数名称:
intPubUnDes(intnKeyType,constchar*psSrc,char*psDest);
函数介绍:
Des解密数据
函数描述:
无
入口参数:
nKeyType密钥类型(详见:
EM_KEY_TYPE)
psSrc数据(8字节BCD码)
出口参数:
psDest密文(8字节BCD码)
返回值:
APP_SUCC成功
其它失败
3.16PubDes3
函数名称:
intPubDes3(intnKeyType,constchar*psSrc,char*psDest);
函数介绍:
3Des加密数据
函数描述:
无
入口参数:
nKeyType密钥类型(详见:
EM_KEY_TYPE)
psSrc数据(8字节BCD码)
出口参数:
psDest密文(8字节BCD码)
返回值:
APP_SUCC成功
其它失败
3.17PubUnDes3
函数名称:
intPubUnDes3(intnKeyType,constchar*psSrc,char*psDest);
函数介绍:
3Des解密数据
函数描述:
无
入口参数:
nKeyType密钥类型(详见:
EM_KEY_TYPE)
psSrc数据(8字节BCD码)
出口参数:
psDest密文(8字节BCD码)
返回值:
APP_SUCC成功
其它失败
3.18PubSoftDes
函数名称:
intPubSoftDes(constchar*psKey,constchar*psSrc,char*psDest);
函数介绍:
Des软加密
函数描述:
无
入口参数:
psKey明文密钥(8字节BCD码)
psSrc数据(8字节BCD码)
出口参数:
psDest密文(8字节BCD码)
返回值:
APP_SUCC成功
其它失败
3.19PubSoftUnDes
函数名称:
intPubSoftUnDes(constchar*psKey,constchar*psSrc,char*psDest);
函数介绍:
Des软解密
函数描述:
无
入口参数:
psKey明文密钥(8字节BCD码)
psSrc数据(8字节BCD码)
出口参数:
psDest密文(8字节BCD码)
返回值:
APP_SUCC成功
其它失败
3.20PubSoftDes3
函数名称:
intPubSoftDes3(constchar*psKey,constchar*psSrc,char*psDest);
函数介绍:
3Des软加密
函数描述:
无
入口参数:
psKey明文密钥(16字节BCD码)
psSrc数据(8字节BCD码)
出口参数:
psDest密文(8字节BCD码)
返回值:
APP_SUCC成功
其它失败
3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 底层 密钥 体系 详解 412 教材