BST数据通信程序设计说明书0416.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
BST数据通信程序设计说明书0416

民生银行BST数据通信服务器程序设计说明书 设计概要 该服务器程序主要完成的功能为: 主要作为数据通信数据转发系统;在UNIX平台上开启一个TCP/IP协议的服务器端程序,通过SOCKET接口接收到BST的WEB SERVER转发的BST交易请求包时有子进程完成与主机的通信;子进程将请求包按照民生银行提供的MAPFILE(交易数据格式)进行数据重组,形成主机请求包,并与银行通信服务器(ELINK)建立socket连接,发送请求包,并接收主机响应包。最后将响应包按照MAPFILE输出格式解包并发送给WEB SERVER。 另外要完成申请终端工作密钥,交易时与银行加密机进行密钥交换的工作。具体说明在后面章节说明。 目录说明 $HOME/include/ 所有的头文件,包括银行接口的。 $HOME/lib/ 所有的库文件。 $HOME/bin/ 运行目录。运行文件名为‘server’,运行./r为后台运行。 $HOME/etc/mapfile 银行数据接口定义文件。 $HOME/etc/syscfg 所有的配置文件。 三 详细程序设计及流程说明 3.1 主程序模块框图 说明: (1) 配置表BstServ.cfg中定义了与WEB SERVER的SOCKET连接的PORT,与ELINK连接的IP地址和PORT端口。 (2) 初始化MAP结构是将银行的主机接口数据格式定义文件(MAPFILE文件)全部用动态链表实现,以便提高访问速度。有关说明在后面章节。 (3) 初始化包头配置结构,是将MAPFILE定义的报文头的配置表载入到全局变量?Sys_Head中,也为了提高访问速度。具体配置见后面章节。 (4) 将子进程中的MAP结构链表释放,防止占用内存。 3.2 主机通信模块框图(DoWithHost()函数) 功能:打主机包-发送-接收-解包-组返回响应包 3.3?MAPFILE动态#define TMAP struct T_Map #define TINDEX struct T_Index struct T_Map{ char Tname[16]; int Tlen; char Ttype[1]; struct T_Map *next; }T_Map; struct T_Index{ char Tcode[5]; char inqname[16]; char reqname[16]; char endaddr[10]; struct T_Map *inq; struct T_Map *req; struct T_Index *next; }T_Index; 每个交易对应一个T_Index结点,节点的Tcode为交易码;每个交易的结点中存放的信息有:交易码、输入MAP文件名、输出MAP文件名、交易目的地址、输入MAP链表的头指针和输出MAP链表的头指针。 输入、输出MAP链表中分别储存了相应MAPFILE的前三个字段,以便打包、解包时使用。 目前数据长度(int Tlen)与数据类型(char Ttype[1])暂时没有用到,保留以后使用。即,交易输入、输出时的交易数据(除交易包头外)的长度是变长的。 3.4 加密、验密方式的说明 在服务器程序启动时,先向主机申请工作密钥,即发送9367交易;返回的PinKey保存在SERVER端。 BST启动应用时先向SERVER发送RQK1交易包申请终端使用密钥;SERVER接收到RQK1交易时调用T_gt_working_key()函数向加密机申请,并将其返回给BST。 BST做交易时,要将密钥(WorkingKey)和PinBlock上送至SERVER,SERVER要调用 T_tr_pin_ansi_ansi()函数与加密机交换PinBlock,然后放在PAPSWD字段上送。 更改密码交易的旧密码字段也同样要加密,密钥同上。 注意:如果PSPWKD=1或者2时,SERVER会对PAPSWD和PAOLWD进行PINBLOCK的交换;如果PSPWKD=0或者没有该DDU字段时,认为不做PINBLOCK交换,SERVER会将BST上送来的密码字段原样送主机。 与WEB SERVER通信数据包格式说明 4.1 BST上送包格式 设备号 交易码 密钥 保留字段 交易包头部分 交易数据部分 5byte 4byte 16byte 25个字符零 用|分隔,数据域定长 用|分隔,数据域变长 前50个字节为与WEB SERVER的约定报文头。 其中,交易包头部分的定义在./syscfg/下,由三个配置文件定义: system_head.cfg cmtran_head.cfg tran_head.cfg 具体内容请看配置文件。

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档