CN113014670A - 一种用于推送订单信息的方法、设备、介质及程序产品 - Google Patents
一种用于推送订单信息的方法、设备、介质及程序产品 Download PDFInfo
- Publication number
- CN113014670A CN113014670A CN202110330553.3A CN202110330553A CN113014670A CN 113014670 A CN113014670 A CN 113014670A CN 202110330553 A CN202110330553 A CN 202110330553A CN 113014670 A CN113014670 A CN 113014670A
- Authority
- CN
- China
- Prior art keywords
- key
- terminal
- information
- order information
- asymmetric
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/12—Cash registers electronically operated
- G07G1/14—Systems including one or more distant stations co-operating with a central processing unit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
本申请的目的是提供一种用于推送订单信息的方法、设备、介质及程序产品,包括:建立第一终端与第二网络设备的长连接;实时监听第一消息管道,若监听到所述第一消息管道中包括预设主题信息,接收所述第二网络设备基于所述长连接推送的第二订单信息,其中,所述第二订单信息是第一网络设备使用第一对称密钥对第一订单信息加密后发送至所述第二网络设备的;使用所述第一对称密钥解密所述第二订单信息以获取所述第一订单信息,其中,所述第一终端已提前存储所述第一对称密钥,所述第一订单信息供用户支付后执行对应的支付操作。本申请可以提升POS机和对应收银机之间的调试效率。
Description
技术领域
本申请涉及通信领域,尤其涉及一种推送订单信息的技术。
背景技术
一般中大型零售集团都有自己的收银***,如果集团下面的每个门店都要要接入新的POS(Point of sales,销售点情报管理***)机,每个门店中的收银机必须和智能POS机处于同一网段,两个硬件之间要互相发现,相互注册,并且都要进行收银机和POS机的对接、调试。由于收银机的版本不同,新接入的POS机与收银机进行对接调试的过程比较繁琐,且调试周期较长。
发明内容
本申请的一个目的是提供一种用于推送订单信息的方法、设备、介质及程序产品。
根据本申请的一个方面,提供了一种用于推送订单信息的方法,应用于第一终端,该方法包括:
建立第一终端与第二网络设备的长连接;
实时监听第一消息管道,若监听到所述第一消息管道中包括预设主题信息,接收所述第二网络设备基于所述长连接推送的第二订单信息,其中,所述第二订单信息是第一网络设备使用第一对称密钥对第一订单信息加密后发送至所述第二网络设备的;
使用所述第一对称密钥解密所述第二订单信息以获取所述第一订单信息,其中,所述第一终端已提前存储所述第一对称密钥,所述第一订单信息供用户支付后执行对应的支付操作。
根据本申请的一个方面,提供了一种用于推送订单信息的方法,应用于第一网络设备,该方法包括:
接收第三网络设备发送的加签后的第一订单信息,其中,所述第一订单信息是由第二终端获取后发送至所述第三网络设备后,由所述第三网络设备根据预置的第三非对称密钥中私钥执行加签操作的;
对所述加签后的第一订单信息执行第二预设操作以生成第二订单信息,其中,所述第二预设操作包括使用第一对称密钥加密所述第一订单信息;
实时将所述第二订单信息以及所述第二订单信息的第一消息管道发送至第二网络设备,其中,所述第二网络设备基于所述第一消息管道将所述第二订单信息发送至第一终端。
根据本申请的一个方面,提供了一种用于推送订单信息的方法,该方法包括:
第一网络设备接收第三网络设备发送的加签后的第一订单信息,其中,所述第一订单信息是由第二终端获取后发送至所述第三网络设备后,由所述第三网络设备根据预置的第三非对称密钥中私钥执行加签操作的;
所述第一网络设备对所述加签后的第一订单信息执行第二预设操作以生成第二订单信息,其中,所述第二预设操作包括使用第一对称密钥加密所述第一订单信息,并实时将所述第二订单信息以及所述第二订单信息的第一消息管道发送至第二网络设备;
所述第一终端建立所述第一终端与第二网络设备的长连接,并实时监听第一消息管道,若监听到所述第一消息管道中包括预设主题信息,接收所述第二网络设备基于所述长连接推送的第二订单信息,并使用所述第一对称密钥解密所述第二订单信息以获取所述第一订单信息,其中,所述第一终端已提前存储所述第一对称密钥,所述第一订单信息供用户支付后执行对应的支付操作。
根据本申请的一个方面,提供了一种用于推送订单信息的第一终端,该设备包括:
一一模块,用于建立第一终端与第二网络设备的长连接;
一二模块,用于实时监听第一消息管道,若监听到所述第一消息管道中包括预设主题信息,接收所述第二网络设备基于所述长连接推送的第二订单信息,其中,所述第二订单信息是第一网络设备使用第一对称密钥对第一订单信息加密后发送至所述第二网络设备的;
一三模块,用于使用所述第一对称密钥解密所述第二订单信息以获取所述第一订单信息,其中,所述第一终端已提前存储所述第一对称密钥,所述第一订单信息供用户支付后执行对应的支付操作。
根据本申请的一个方面,提供了一种用于推送订单信息的第一网络设备,该设备包括:
二一模块,用于接收第三网络设备发送的加签后的第一订单信息,其中,所述第一订单信息是由第二终端获取后发送至所述第三网络设备后,由所述第三网络设备根据预置的第三非对称密钥中私钥执行加签操作的;
二二模块,用于对所述加签后的第一订单信息执行第二预设操作以生成第二订单信息,其中,所述第二预设操作包括使用第一对称密钥加密所述第一订单信息;
二三模块,用于实时将所述第二订单信息以及所述第二订单信息的第一消息管道发送至第二网络设备,其中,所述第二网络设备基于所述第一消息管道将所述第二订单信息发送至第一终端。
根据本申请的一个方面,提供了一种推送订单信息的计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,其中,所述
处理器执行所述计算机程序以实现如上所述任一方法的操作。
根据本申请的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如上所述任一方法的操作。
根据本申请的一个方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述任一方法的步骤。
与现有技术相比,本申请中第一终端(例如,POS机)根据第一网络设备发送的第一消息管道实时监听所述第一消息管道中是否包括预设主题信息,若是,接收所述第二网络设备基于所述长连接推送的第二订单信息,并使用所述第一对称密钥解密所述第二订单信息以获取所述第一订单信息,其中,所述第一终端已提前存储所述第一对称密钥,所述第一订单信息供用户支付后执行对应的支付操作。本申请可以通过MQTT通讯协议解耦收银机、POS机硬件交互,即不需要POS机和收银机同时调试对接,再通过智能POS的批量推送更新,快速地完成门店收银机接入POS机,从而使得POS机的更新更加有效率且POS机和收银台之间的通信更为安全。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个实施例的一种用于推送订单信息的***方法的方法流程图;
图2示出根据本申请一个实施例的一种用于推送订单信息的方法流程图,应用于第一终端;
图3示出根据本申请一个实施例的一种用于推送订单信息的方法流程图,应用于第一网络设备;
图4示出根据本申请另一个实施例的一种用于推送订单信息的方法流程图;
图5示出根据本申请又一个实施例的一种用于推送订单信息的方法流程图;
图6示出根据本申请再一个实施例的一种用于推送订单信息的方法流程图;
图7示出根据本申请一个实施例的一种用于推送订单信息的第一终端结构图;
图8示出根据本申请一个实施例的一种用于推送订单信息的第一网络设备结构图;
图9示出根据本申请一个实施例的一种用于推送订单信息的***设备结构图;
图10示出可被用于实施本申请中所述的各个实施例的示例性***。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash Memory)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PCM)、可编程随机存取存储器(Programmable Random Access Memory,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请所指设备包括但不限于终端、网络设备、或终端与网络设备通过网络相集成所构成的设备。所述终端包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作***,如Android操作***、iOS操作***等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field ProgrammableGate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述终端、网络设备、或终端与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在本申请的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。
图1示出根据本申请一个实施例的一种用于推送订单信息的***方法,该方法包括:
第一网络设备接收第三网络设备发送的加签后的第一订单信息,其中,所述第一订单信息是由第二终端获取后发送至所述第三网络设备后,由所述第三网络设备根据预置的第三非对称密钥中私钥执行加签操作的;
所述第一网络设备对所述加签后的第一订单信息执行第二预设操作以生成第二订单信息,其中,所述第二预设操作包括使用第一对称密钥加密所述第一订单信息,并实时将所述第二订单信息以及所述第二订单信息的第一消息管道发送至第二网络设备;
所述第一终端建立所述第一终端与第二网络设备的长连接,并实时监听第一消息管道,若监听到所述第一消息管道中包括预设主题信息,接收所述第二网络设备基于所述长连接推送的第二订单信息,并使用所述第一对称密钥解密所述第二订单信息以获取所述第一订单信息,其中,所述第一终端已提前存储所述第一对称密钥,所述第一订单信息供用户支付后执行对应的支付操作。
图2示出根据本申请一个实施例的一种用于推送订单信息的方法,应用于第一终端,所述方法包括步骤S101、步骤S102和步骤S103。
具体地,在步骤S101中,第一终端建立第一终端与第二网络设备的长连接。其中,所述第一终端包括各个品牌的智能POS机(或传统POS机),以智能POS机为例,其主要功能除了传统POS机包含的扫描一维码、刷卡之外,还包括了扫描二维码、会员卡券的验证以及结合后端***进行客户客单精细化管理、大数据分析等功能;所述第二网络设备包括MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)服务器,MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,目前服务器是采用开源的EMQ(Elastic MQTTBroker,MQTT消息服务器)作为服务器,通过集群的方式来完成客户端长连接的接入,以及消息的分发并且可以把消息持久化到主流的消息队列、关系型数据库、列式数据库或者是缓存数据中。例如,第一终端中安装有Eclipse Paho Java Client(MQTT客户端),其中,该第一终端使用MQTT协议,第一终端使用该Eclipse Paho Java Client和MQTT服务器建立长连接,该长连接过程中都是使用MQTT协议进行数据传输,在一些实施例中,第一终端先需要在MQTT服务端进行认证,在长连接建立后,第一终端执行长连接心跳检测以及连接中断重连等操作以保持长连接的可靠性。
在步骤S102中,第一终端实时监听第一消息管道,若监听到所述第一消息管道中包括预设主题信息,接收所述第二网络设备基于所述长连接推送的第二订单信息,其中,所述第二订单信息是第一网络设备使用第一对称密钥对第一订单信息加密后发送至所述第二网络设备的。其中,所述第一消息管道包括MQTT对消息分类的TOPIC(主题),在第一终端从第一网络设备中接收到所述第一消息管道后,对所述第一消息管道进行实时监听,其中,在监听过程中,第一终端向第二网络设备实时广播其正在监听第一消息管道相关的信息(例如,POS机向MQTT服务端实时说明该POS终端正在监听第一消息管道的信息,以便后续MQTT服务器收到与第一消息管道相关的信息后,将该相关信息转发至POS机),在一些实施例中,所述预设主题信息包括以下至少任一项:
1)订单支付业务信息;
2)所述第一终端对应的第一标识信息;例如,该第一消息管道中的消息有不同的主题信息格式,例如,可以为:/标识信息(例如,所述第一终端对应的第一标识信息)/业务类型(例如,订单支付业务信息)。例如,第一网络设备包括与所述业务类型相匹配的服务器(例如,若所述业务类型包括订单支付业务信息,对应的第一网络设备则为支付类的服务器),当第一终端和第一网络设备进行交互时,第一网络设备确定所述第一终端需要获取的业务类型。在一些实施例中,第一网络设备先生成第一消息管道,其中,该第一消息管道包括与所述第一网络设备对应的订单支付业务信息、以及所述第一终端对应的第一标识信息,其中,所述第一标识信息为第一终端在所述第一网络设备中注册后,第一网络设备为所述第一终端分配的标识。在第一终端监听所述第一消息管道的过程中,若监听到预设主题信息(例如,当前第二网络设备确定第一终端需要监听的预设主题信息存在),第二网络设备将与该预设主题信息对应的第二订单信息发送至第一终端,例如,第二网络设备收到的第二订单信息中携带有第一消息管道为预设注意信息的相关信息。在此,所述第二订单信息为第一网络设备使用第一对称密钥(例如,)对第一订单信息加密后发送至所述第二网络设备的,其中,所述第一订单信息和第二订单信息实际上是同一个订单,只是为了区别是否被第一对称密钥(例如,AES(高级加密标准,Advanced Encryption Standard)对称密钥)进行加密而区分为第一订单信息(未被第一对称密钥加密的)和第二订单信息(被第一对称密钥加密的)。
在步骤S103中,第一终端使用所述第一对称密钥解密所述第二订单信息以获取所述第一订单信息,其中,所述第一终端已提前存储所述第一对称密钥,所述第一订单信息供用户支付后执行对应的支付操作。例如,第一对称密钥在第一终端接收所述第二订单信息前已被存储至第一终端中,第一终端使用的该第一对称密钥与所述第一网络设备对第一订单信息加密的第一对称密钥为同一密钥,待第二订单信息被解密后,第一终端获取第一订单信息,并将该第一订单信息展示给用户,在用户进行支付操作后,第一终端拉起支付收银台通过第一网络设备对应的网关执行支付操作。
在一些实施例中,所述方法在步骤S101之前还包括步骤S104(未示出),在步骤S104中,第一终端获取所述第一对称密钥并保存在所述第一终端。例如,虽然第一终端和第二网络设备是通过长连接+TLS(传输层安全性协议,Transport Layer Security)来完成的,原则上第二网络设备转发的报文信息已经达到了密文传输不可见性的效果,在一些实施例中,对订单信息加密后发送是基于金融属性的安全考虑,在额外加一层包护的基础上使得订单信息的传输更为安全可靠。
在一些实施例中,所述获取所述第一对称密钥并保存在所述第一终端包括:向所述第一网络设备发送获取第一密钥请求;接收第一网络设备响应于所述获取第一密钥请求返回的待解密第一对称密钥,其中,所述第一网络设备生成所述第一对称密钥,并使用所述第一非对称密钥中公钥对所述第一对称密钥进行加密生成所述待解密第一对称密钥;使用所述第一非对称密钥中私钥对所述待解密第一对称密钥执行解密操作以获取所述第一对称密钥,并保存在所述第一终端。例如,在于所述第一终端对应的第二终端(例如,与当前POS机匹配的门店收银机)开始工作前,第一终端已做好相应的准备,例如,第一终端需要获取第一对称密钥。第一终端向第一网络设备发送获取第一密钥请求以请求第一对称密钥,第一网络设备响应于该获取第一密钥请求生成第一对称密钥(例如,第一网络设备使用jdkjava.util.Random(Java Development Kit,软件开发工具包)包下的工具类生成24位的随机数以作为第一对称密钥),并使用第一非对称密钥中公钥对该第一对称密钥进行加密,以防止第一对称密钥在后续网络传输过程中(例如,返回至第一终端的过程中)明文传输,第一网络设备将该待解密第一对称密钥发送至第一终端,第一终端中存储有所述第一非对称密钥中公钥对应的第一非对称密钥中私钥,并利用该第一非对称密钥中私钥对该待解密第一对称密钥进行解密以获取第一对称密钥。
在一些实施例中,所述获取第一密钥请求包括使用第一非对称密钥中私钥加签的第一参数信息,所述第一参数信息包括所述第一终端对应的第一标识信息、所述第一终端所属的终端服务商标识信息、所述第一终端所属门店的门店商户标识信息,所述接收第一网络设备响应于所述获取第一密钥请求返回的待解密第一对称密钥,其中,所述第一网络设备生成所述第一对称密钥,并使用所述第一非对称密钥中公钥对所述第一对称密钥进行加密生成所述待解密第一对称密钥,包括:接收第一网络设备响应于所述获取第一密钥请求返回的、加签后的待解密第一对称密钥以及第一消息管道,其中,所述第一消息管道与所述第一标识信息相匹配,所述第一网络设备生成所述第一对称密钥,并使用所述第一非对称密钥中公钥对所述第一对称密钥进行加密生成所述待解密第一对称密钥;所述方法还包括步骤S105(未示出),在步骤S105中,第一终端使用所述第一网络设备提供的公钥对所述待解密第一对称密钥以及第一消息管道进行验签;在步骤S101中,第一终端基于所述第一消息管道建立第一终端与第二网络设备的长连接。例如,所述获取第一密钥请求包括使用第一非对称密钥中私钥加签的第一参数信息,其中,所述第一非对称密钥是第一终端和第一网络设备约定的密钥,所述第一参数信息包括所述第一终端对应的第一标识信息(即第一网络设备为所述第一终端配置的标识)、所述第一终端所属的终端服务商标识信息(例如,所述第一终端的制造商、生产商或者服务商的标识信息)、所述第一终端所属门店的门店商户标识信息(例如,所述第一终端所在的门店的标识信息),第一参数信息还包括设备TSUN、设备类型、请求时间戳、请求随机字符串等,所述第一非对称密钥包括RSA公私钥对。第一终端先按照第一参数信息中每个请求字段key首字母升序排列成key=value&key=value方式,随后将排列成key=value&key=value方式的多个请求字段进行加签处理,签名算法是SHA1WithRSA(例如,用SHA(安全哈希算法,Secure Hash Algorithm)算法进行签名,用RSA(RSA algorithm)算法进行加密),以防第一参数信息被篡改,避免在网络传输过程中第一参数信息被中间人拦截然后修改参数后再次转发。第一网络设备接收到该加签后的第一参数信息后,先利用第一非对称密钥中公钥对该加签后的第一参数信息进行验签,在验签成功后,第一网络设备生成所述第一对称密钥,其中,该第一对称密钥与所述第一终端的第一标识信息相对应,并使用所述第一非对称密钥中公钥对所述第一对称密钥进行加密生成所述待解密第一对称密钥,以防止第一对称密钥后续在网络传输过程中(例如,第一网络设备传输给第一终端时)明文传输。并且,第一网络设备根据第一终端的第一标识信息以及第一网络设备对应的业务生成可供第一终端中的MQTT客户端监听的第一消息管道,该第一消息管道基于所述第一终端的第一标识信息实现第一终端对消息的独占性(例如,该第一消息管道中的信息只能由第一终端监听),在第一网络设备生成第一对称密钥和第一消息管道后,作为对所述获取第一密钥请求的响应,第一网络设备使用第一网络设备中预置的一个非对称密钥的私钥对前述响应结果进行加签,以对响应结果进行安全保护从而防止返回的响应结果在网络传输过程中被中间人拦截篡改,第一终端接收到响应结果后,使用所述第一网络设备提前提供的公钥对该响应结果进行验签,以确定响应结果来源于第一网络设备,且在网络传输过程中未被篡改。在第一终端接收到该第一消息管道后,第一终端建立与第二网络设备的长连接,并实时监听第一消息管道,以及将监听第一消息管道的操作告知第二网络设备,以便后续第二网络设备接收到与第一消息管道相关的消息后转发至所述第一终端。在一些实施例中,第一网络设备向所述第一终端返回的响应结果中还包括用户名,密码,其中,该用户名和密码用于第一终端与第二网络设备建立长连接,该用户名为第一网络设备基于所述第一终端的请求返回的token(令牌),该密码为第一网络设备使用md5(Message Digest Algorithm MD5,中文名为消息摘要算法第五版)的key(秘钥)对第一标识信息和token进行加签后的结果。第一终端使用该用户名以及密码向第二网络设备请求长连接,第二网络设备基于该用户名以及密码进行鉴权后,与所述第一终端建立长连接,在一些实施例中,第二网络设备使用所述用户名和密码向第一网络设备进行验证,待验证成功后,第二网络设备才建立与第一终端的长连接,从而确保长连接建立的安全可靠。
在一些实施例中,所述方法还包括步骤S106(未示出),在步骤S106中,第一终端获取并保存所述第一非对称密钥中私钥。其中,所述第一非对称密钥是与第一终端相对应的,为了保证每次第一终端投入使用后(例如,开机后)都能获得一个临时性密钥用于后续与其他设备进行交互,第一终端获取并保存所述第一非对称密钥中私钥。在一些实施例中,所述第一非对称密钥的有效时长小于第一时长阈值,所述第一对称密钥的有效时长小于第二时长阈值。例如,所述第一非对称密钥以及所述第一对称密钥在第一终端被关机后失效,每次第一终端开机后都会生成一个新的第一非对称密钥以及所述第一对称密钥,在一些实施例中,在第一终端使用过程中,第一终端所属的门店也可主动更新所述第一非对称密钥以及所述第一对称密钥,从而缩短所述第一非对称密钥以及所述第一对称密钥的有效期。
在一些实施例中,所述获取并保存所述第一非对称密钥中私钥包括:响应于所述第一终端中的初始化事件,向所述第一网络设备发送获取第二密钥请求;接收所述第一网络设备响应于所述获取第二密钥请求返回的报文信息,其中,所述报文信息包括所述第一网络设备使用第二对称密钥加密的所述第一非对称密钥中私钥以及所述第一网络设备使用第二非对称密钥中公钥加密的所述第二对称密钥;对所述报文信息执行第一预设操作以获取所述第一非对称密钥中私钥,并保存所述第一非对称密钥中私钥。其中,所述初始化事件包括用户启用所述第一终端(例如,将第一终端进行开机),第一终端自动向第一网络设备发送获取第二密钥请求,响应于该获取第二密钥请求,第一网络设备先生成第一非对称密钥,再生成第二对称密钥,并使用第二对称密钥加密所述第一非对称密钥中私钥以及使用第二非对称密钥中公钥加密所述第二对称密钥,从而对所述第一非对称密钥中私钥进行双重保护,其中,所述第二非对称密钥中公钥是所述第一终端的服务商提前配置到所述第一网络设备中的,供第一网络设备执行验签以及加密的操作。第一网络设备响应于所述获取第二密钥请求将包括所述第一网络设备使用第二对称密钥加密的所述第一非对称密钥中私钥以及所述第一网络设备使用第二非对称密钥中公钥加密的所述第二对称密钥的报文信息返回至所述第一终端,在一些实施例中,第一网络设备将所述报文信息使用所述第一网络设备预置的私钥进行加签后返回至第一终端。第一终端接收该加签的报文信息后执行第一预设操作以获取第一非对称密钥中私钥。
在一些实施例中,所述获取第二密钥请求包括使用所述第二非对称密钥中私钥加签的第二参数信息,所述第二参数信息包括所述第一标识信息、所述第一终端所属的终端服务商标识信息以及所述第一终端所属门店的门店商户标识信息,
所述第一预设操作包括以下至少一项:
1)使用所述第一网络设备提供的公钥对所述报文信息进行验签;
2)使用所述第二非对称密钥中私钥解密所述加密的所述第二对称密钥以获取所述第二对称密钥;
3)使用所述第二对称密钥解密所述加密的所述第一非对称密钥中私钥以获取所述第一非对称密钥中私钥。例如,所述获取第二密钥请求包括使用所述第二非对称密钥中私钥加签的第二参数信息,其中,所述第二非对称密钥的有效期为永久有效,所述第二非对称密钥中私钥为所述第一终端的服务商在第一终端出厂时存储在第一终端的安全芯片上的,作为初始密钥保证第一终端投入使用后第一次交互的安全性。为了确认第一终端的请求合法性,所述第一终端的服务商会配置第二非对称密钥中公钥到第一网络设备(例如,第一网络设备中保存终端服务商标识信息与服务商配置的非对称密钥中公钥的映射关系),第一网络设备后续会通过请求中的终端服务商标识信息对应的公钥对请求做验签来确认请求者身份是否合法。其中,所述第二参数信息还包括设备TSUN、设备类型、请求时间戳、请求随机字符串,第一终端按照第二参数信息中每个请求字段key首字母升序排列成key=value&key=value方式,并对排序后key=value&key=value的进行加签处理,签名算法是SHA1WithRSA(请求随机字符串和签名是为了防篡改、请求时间戳是为了在一定时间窗口期外防请求重放),第一网络设备接收该加签后的第二参数信息后,先校验请求时间是否过期、再校验所述第一终端所属的终端服务商标识信息的正确性、最后校验签名的正确性,在第一网络设备对所述第二参数信息验签成功后,第一网络设备使用JDK java.security包下的相关方法生成第一非对称密钥的公私钥对,并使用第二对称密钥加密第一非对称密钥中公钥,并将该公钥持久化到数据库和终端服务商标识信息以及第一标识信息以及第一终端所属门店的门店商户标识信息做关联,随后,第一网络设备使用第二对称密钥加密第一非对称密钥中私钥,最后使用第二非对称密钥中公钥加密所述第二对称密钥,随后第一网络设备将上述结果作为所述获取第二密钥请求的响应信息,第一终端接收到该响应信息后,先使用所述第一网络设备提供的公钥(例如,第一网络设备提前在线下给与第一终端的服务商,并导入到第一终端中的)对响应信息进行验签,其中,该验签包括验证第一网络设备初始化接口返回的加密后的第一非对称密钥中私钥、第二非对称密钥中公钥加密的所述第二对称密钥、响应随机字符串、业务结果码、错误码、错误描述等多个字段是否被篡改,若未被篡改,第一终端使用第二非对称密钥中私钥解密所述第二对称密钥的密文以获取所述第二对称密钥,再利用所述第二对称密钥解密所述第一非对称密钥中私钥的密文以获取第一非对称密钥中私钥。
在一些实施例中,所述方法还包括步骤S107(未示出),在步骤S107中,第一终端实时监听第二消息管道,若监听到所述第二消息管道中包括版本更新的信息,接收所述第二网络设备推送的更新组件信息,其中,所述第二网络设备从所述第一终端所属终端服务商处或者所述第一网络设备处获取所述更新组件信息;响应于所述第一终端中的更新事件,基于所述更新组件信息更新所述第一终端的版本信息。其中,所述第二消息管道的主要形式为:/终端对应的标识信息/主题信息,例如,在第一终端和第二网络设备建立长连接的前提下,第一终端向所述第二网络设备告知正在监听第二消息管道,其中,所述第二消息管道为:/第一终端对应的标识信息/版本更新信息,当第二网络设备接收到第一终端所属终端服务商处或者所述第一网络设备发送的与所述第二消息管道相关的信息时,将所述相关信息(即更新组件信息)转发至所述第一终端,第一终端根据该更新组件更新***,对于多个第一终端,采用该推送方式可以实现批量实时处理,无需将第一终端寄回重新打包安装,也无需将更新组件后的第一终端与对应的第二终端进行调试,从而提升了第一终端与第二终端匹配的效率。
图3示出根据本申请一个实施例的一种用于推送订单信息的方法,应用于第一网络设备,所述方法包括步骤S201、步骤S202、步骤S203。
具体地,在步骤S201中,第一网络设备接收第三网络设备发送的加签后的第一订单信息,其中,所述第一订单信息是由第二终端获取后发送至所述第三网络设备后,由所述第三网络设备根据预置的第三非对称密钥中私钥执行加签操作的。其中,所述第二终端包括门店收银机,该第二终端与第一终端(例如POS机)相对应(即,该门店收银机进行下单,对应第一终端进行收款操作),第二终端扫描商品后执行下单操作以生成第一订单信息,第二终端将该第一订单信息发送至第三网络设备,其中,所述第三网络设备可以认为是当前第二终端所在门店对应的服务器(例如,商户A,商户A有对应的服务器,商户A部署了一个或者多个门店,该第二终端部署于该一个或者多个门店之一),第三网络设备接收到该第一订单信息后使用预置的第三非对称密钥中私钥对该第一订单信息进行加签操作,在一些实施例中,商户的门店要做支付前需要在第一网络设备的商户平台做进件审核,第一网络设备在对商户进行审核后,若审核通过则颁发对应的商户号(即商户标识信息),商户需要自己生成第三非对称密钥公私钥对(例如,RSA公私钥对),然后在商户平台上传商户号对应的第三非对称密钥中公钥,用作后续与第一网络设备的接口进行交互的时候验签的依据。例如,第三网络设备对所述第一订单信息中的所有字段(例如,商户号、所述第二终端对应的第一终端的第一标识信息、商户订单编号、订单总金额、商品描述、商户扩展数据包、随机字符串、请求时间戳、签名方式)按照每个请求字段key首字母升序排列成key=value&key=value方式加签处理,签名算法是SHA1WithRSA(请求随机字符串和签名是为了防篡改、请求时间戳是为了在一定时间窗口期外防请求重放)。第三网络设备将加签后的所述第一订单信息发送至第一网络设备。
在步骤S202中,第一网络设备对所述加签后的第一订单信息执行第二预设操作以生成第二订单信息,其中,所述第二预设操作包括使用第一对称密钥加密所述第一订单信息。
在一些实施例中,所述第二预设操作还包括以下至少任一项:
1)使用第三非对称密钥中公钥对所述加签后的第一订单信息执行验签操作;
2)校验所述第一订单信息中的参数信息;
3)持久化所述第一订单信息;其中,所述第二订单信息和第一订单信息为同一订单信息,只是在从第一订单信息生成第二订单信息的过程中,用于区分是否执行过第二预设操作,因而表述为“第一”以及“第二”。第一网络设备先使用所述第三非对称密钥中公钥对加签后的所述第一订单信息进行验签,若验签成功,第一网络设备检测该第一订单信息中的参数信息(例如,商户号、所述第二终端对应的第一终端的第一标识信息、商户订单编号、订单总金额、商品描述、商户扩展数据包、随机字符串、请求时间戳、签名方式、签名),其中,主要检验标准包括:字段非空校验、订单金额不能小于等于0判断、基于请求时间戳防重放校验、基于签名方式和签名做防篡改校验;随后,第一网络设备对该第一订单信息执行持久化操作,例如,将商户订单存储到MySQL(数据库),从而避免后续转发第一订单信息时第一网络设备和第二网络设备存在网络问题,第一订单信息上维护了转发成功与否标志,会有定时任务触发补推送消息,也可以通过手动触发;在完成前述操作后,第一网络设备使用第一对称密钥加密所述第一订单信息以生成第二订单信息,为后续订单信息在网络中传输提供安全保证。
在一些实施例中,所述方法还包括步骤S205(未示出),在步骤S205中,第一网络设备生成所述第一对称密钥。例如,第一网络设备使用jdk java.util.Random包下的工具类生成24位的随机数以作为第一对称密钥。
在一些实施例中,所述生成所述第一对称密钥包括:接收所述第一终端发送的获取第一密钥请求,其中,所述获取第一密钥请求包括所述第一终端使用第一非对称密钥中私钥加签的第一参数信息;响应于所述获取第一密钥请求,使用所述第一非对称密钥中公钥对所述加签的第一参数信息进行验签,若验签成功,生成所述第一对称密钥。其中,所述第一参数信息包括所述第一终端对应的第一标识信息(即第一网络设备为所述第一终端配置的标识)、所述第一终端所属的终端服务商标识信息(例如,所述第一终端的制造商、生产商或者服务商的标识信息)、所述第一终端所属门店的门店商户标识信息(例如,所述第一终端所在的门店的标识信息),第一参数信息还包括设备TSUN、设备类型、请求时间戳、请求随机字符串等,所述第一非对称密钥包括RSA公私钥对。第一终端先按照第一参数信息中每个请求字段key首字母升序排列成key=value&key=value方式,随后将排列成key=value&key=value方式的多个请求字段进行加签处理,签名算法是SHA1WithRSA(例如,用SHA(安全哈希算法,Secure Hash Algorithm)算法进行签名,用RSA(RSA algorithm)算法进行加密),以防第一参数信息被篡改,避免在网络传输过程中第一参数信息被中间人拦截然后修改参数后再次转发。第一网络设备接收到该加签后的第一参数信息后,先利用第一非对称密钥中公钥对该加签后的第一参数信息进行验签,在验签成功后,第一网络设备生成所述第一对称密钥。
在一些实施例中,所述第一参数信息包括所述第一终端对应的所述第一标识信息、所述第一终端所属的终端服务商标识信息、所述第一终端所属门店的门店商户标识信息,所述方法还包括步骤S206(未示出),在步骤S206中,第一网络设备响应于所述获取第一密钥请求,使用所述第一非对称密钥中公钥对所述第一对称密钥进行加密生成待解密第一对称密钥,以及基于所述第一标识信息生成第一消息管道;使用所述第一网络设备提供的秘钥对所述待解密第一对称密钥以及将所述第一消息管道执行加签操作,并将加签后的待解密第一对称密钥以及第一消息管道发送至所述第一终端。例如,第一网络设备使用所述第一非对称密钥中公钥对所述第一对称密钥进行加密生成所述待解密第一对称密钥,以防止第一对称密钥后续在网络传输过程中(例如,第一网络设备传输给第一终端时)明文传输。并且,第一网络设备根据第一终端的第一标识信息以及第一网络设备对应的业务生成可供第一终端中的MQTT客户端监听的第一消息管道,该第一消息管道基于所述第一终端的第一标识信息实现第一终端对消息的独占性(例如,该第一消息管道中的信息只能由第一终端监听,该第一消息管道与第一终端的第一标识信息存在映射关系),在第一网络设备生成第一对称密钥和第一消息管道后,作为对所述获取第一密钥请求的响应,第一网络设备使用第一网络设备中预置的一个非对称密钥的私钥对前述响应结果进行加签,以对响应结果进行安全保护从而防止返回的响应结果在网络传输过程中被中间人拦截篡改。
在一些实施例中,所述方法还包括步骤S207(未示出),在步骤S207中,第一网络设备生成所述第一非对称密钥。其中,第一终端所属服务商为第一终端设置的第二非对称密钥与该第一非对称密钥相对应。为了保证每次第一终端投入使用后(例如,开机后)都能获得一个临时性密钥用于后续与其他设备进行交互,第一网络设备都会生成一个第一非对称密钥。
在一些实施例中,所述生成所述第一非对称密钥包括:接收所述第一终端响应于所述第一终端中的初始化事件而发送的获取第二密钥请求,其中,所述获取第二密钥请求包括所述第一终端使用第二非对称密钥中私钥加签的第二参数信息,所述第二参数信息包括所述第一标识信息、所述第一终端所属的终端服务商标识信息以及所述第一终端所属门店的门店商户标识信息;响应于所述获取第二密钥请求,使用所述第二非对称密钥中公钥对所述加签的第二参数信息进行验签,若验签成功,生成所述第一非对称密钥,其中,所述第二非对称密钥中公钥为所述第一终端的终端服务商为所述第一网络设备配置的。其中,所述初始化事件包括用户启用所述第一终端(例如,将第一终端进行开机),第一终端自动向第一网络设备发送获取第二密钥请求,所述获取第二密钥请求包括使用第二非对称密钥中私钥加签的第二参数信息,其中,所述第二非对称密钥的有效期为永久有效,所述第二非对称密钥中私钥为所述第一终端的服务商在第一终端出厂时存储在第一终端的安全芯片上的,作为初始密钥保证第一终端投入使用后第一次交互的安全性。为了确认第一终端的请求合法性,所述第一终端的服务商会配置第二非对称密钥中公钥到第一网络设备(例如,第一网络设备中保存终端服务商标识信息与服务商配置的非对称密钥中公钥的映射关系),第一网络设备会通过请求中的终端服务商标识信息对应的公钥对请求做验签来确认请求者身份是否合法。其中,所述第二参数信息还包括设备TSUN、设备类型、请求时间戳、请求随机字符串,第一终端按照第二参数信息中每个请求字段key首字母升序排列成key=value&key=value方式,并对排序后key=value&key=value的进行加签处理,签名算法是SHA1WithRSA(请求随机字符串和签名是为了防篡改、请求时间戳是为了在一定时间窗口期外防请求重放),第一网络设备接收该加签后的第二参数信息后,先校验请求时间是否过期、再校验所述第一终端所属的终端服务商标识信息的正确性、最后校验签名的正确性,在第一网络设备对所述第二参数信息验签成功后,第一网络设备使用JDK java.security包下的相关方法生成第一非对称密钥的公私钥对。
在一些实施例中,所述方法还包括步骤S208(未示出),在步骤S208中,第一网络设备响应于所述获取第二密钥请求,生成第二对称密钥;使用所述第二对称密钥加密所述第一非对称密钥中私钥,以及使用所述第二非对称密钥中公钥加密所述第二对称密钥;将所述使用所述第二非对称密钥中公钥加密的所述第二对称密钥以及所述使用所述第二对称密钥加密的所述第一非对称密钥中私钥作为报文信息返回至所述第一终端。例如,第一网络生成随机数作为第二对称密钥,并使用第二对称密钥加密第一非对称密钥中私钥(例如,由于该私钥长度比较长,无法使用第二非对称密钥中公钥进行加密),最后使用第二非对称密钥中公钥加密所述第二对称密钥,随后第一网络设备将上述结果作为所述获取第二密钥请求的响应信息,在一些实施例中,第一网络设备会使用第一网络设备预置的私钥对该响应信息进行加签,并将加签后的响应信息返回至所述第一终端。
在一些实施例中,所述使用所述第二对称密钥加密所述第一非对称密钥中私钥包括:使用所述第二对称密钥加密所述第一非对称密钥中私钥,并将所述第一非对称密钥与所述第一标识信息、所述第一终端所属的终端服务商标识信息以及所述第一终端所属门店的门店商户标识信息进行关联。例如,第一网络设备将该第一非对称密钥持久化到数据库,以便和终端服务商标识信息以及第一标识信息以及第一终端所属门店的门店商户标识信息做关联,从而避免后续订单传输时出现A门店的订单被转到B门店的POS终端这种情况。
在步骤S203中,第一网络设备实时将所述第二订单信息以及所述第二订单信息的第一消息管道发送至第二网络设备,其中,所述第二网络设备基于所述第一消息管道将所述第二订单信息发送至第一终端。其中,所述第二网络设备包括MQTT服务器,MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,目前服务器是采用开源的EMQ(Elastic MQTTBroker,MQTT消息服务器)作为服务器,例如,由于第二网络设备单机能支持10万级连接,支持多版本MQTT协议,还可以支持水平扩展,对比第一网络设备在后续直接把第一订单信息发送到第一终端的方案(例如,搭建长连接网关),将第一订单信息转发至第二网络设备时资源和人力都是合算的。在第一网络设备对第一订单信息进行验签后,第一网络设备根据所述第二终端对应的第一终端的第一标识信息查询到与该第一标识信息对应的第一消息管道,然后把第二订单信息的内容发送到第二网络设备的第一消息管道中(例如,第一网络设备实时告知第二网络设备,第一网络设备正在发生与第一消息管道相关的订单信息),同时,第一终端一直在监听所述第一消息管道(例如,第一终端实时告知第二网络设备,第一终端实时监听第一消息管道中的信息),第二网络设备于是将第二订单信息发送至所述第一终端。
在一些实施例中,所述方法在步骤S201之前还包括步骤S204(未示出),在步骤S204中,第一网络设备接收所述第一终端所属终端服务商以及所述第一终端的注册请求;响应于所述注册请求,为所述第一终端所属终端服务商配置终端服务商标识信息、以及为所述第一终端配置第一标识信息。例如,门店商户向第一网络设备进件,申请第一终端(例如,智能POS机)。第一网络设备向机具提供商(例如,服务商)进货,并将该门店商户及终端信息持久化。在第一终端部署至商户门店之前,第一终端所属终端服务商以及所述第一终端会向所述第一网络设备进行注册以获得到第一网络设备为第一终端分配的第一标识信息、以及为终端服务商分配的终端服务商标识信息,第一网络设备存储终端服务商标识信息与所述终端服务商生成的第一终端的标识信息之间的映射关系,同时该终端服务商会将为该第一终端将设置的第二非对称密钥中公钥配置给第一网络设备,供第一网络设备后续对来自第一终端的请求进行验签以识别服务商身份。
图4示出根据本申请一个实施例的一种用于推送订单信息的方法流程图,POS终端进行终端初始化,使用终端服务商提供的RSA私钥加签第二参数信息并发送至盛付通服务端(例如,第一网络设备)请求验签,该服务端生成RSA公私钥,并生成AES对称密钥,随后使用对称密钥AES加密RSA私钥,并使用终端服务商RSA公钥加密对称密钥,并将加密后的对称密钥以及加密后的RSA私钥返回至POS终端,POS终端使用对端API(ApplicationProgramming Interface,应用程序接口)公钥验签,并使用服务商RSA私钥解密对称密钥,使用对称密钥AES解密初始化设备的RSA私钥后保存初始化设备的RSA私钥。
图5示出根据本申请一个实施例的一种用于推送订单信息的方法流程图,POS终端使用终端初始化返回的RSA私钥对第一参数信息进行加签,并向盛付通服务端发送获取工作密钥请求,盛付通服务端使用终端初始化公钥验签,随后生成AES对称工作密钥,并使用终端初始化RSA公钥加密AES对称工作密钥,并生成MQTT客户端监听的TOPIC,并将TOPIC和加密的AES对称工作密钥作为报文信息返回至POS终端,POS终端对该报文信息使用API公钥验签,并使用终端初始化返回的RSA私钥解密AES对称工作密钥,并保存AES对称工作密钥,随后,POS终端和MQTT服务端建立长连接,并实时监听MQTT服务端的TOPIC。
图6示出根据本申请一个实施例的一种用于推送订单信息的方法流程图,以一个门店商户为例,该门店商户中当前正在收银的门店收银机扫描一个或者多个商品后进行下单,并将订单信息(例如,所在门店的商户号、商户订单编号、订单总金额、商品描述、商户扩展数据包、随机字符串、请求时间戳、签名方式等)发送至当前门店所对应的商户服务器,商户服务器使用门店商户号对应的RSA私钥请求加签,并将加签后的订单转发至盛付通服务器,盛付通服务器使用该商户号对应的RSA公钥进行验签,并校验订单信息中的参数信息,并持久化该订单,再使用AES对称密钥加密该订单信息,随后将加密后的订单信息转发至MQTT服务端,MQTT服务端将该订单信息推送至与该门店收银机对应的POS终端,POS终端使用AES对称密钥解密该订单信息,待收到用户的支付后拉起支付收银台,向盛付通POS网关执行支付操作。
图7示出根据本申请一个实施例的一种用于推送订单信息的第一终端,所述第一终端包括一一模块101、一二模块102、一三模块103。
具体地,一一模块101,用于建立第一终端与第二网络设备的长连接。其中,所述第一终端包括各个品牌的智能POS机(或传统POS机),以智能POS机为例,其主要功能除了传统POS机包含的扫描一维码、刷卡之外,还包括了扫描二维码、会员卡券的验证以及结合后端***进行客户客单精细化管理、大数据分析等功能;所述第二网络设备包括MQTT(MessageQueuing Telemetry Transport,消息队列遥测传输)服务器,MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,目前服务器是采用开源的EMQ(Elastic MQTT Broker,MQTT消息服务器)作为服务器,通过集群的方式来完成客户端长连接的接入,以及消息的分发并且可以把消息持久化到主流的消息队列、关系型数据库、列式数据库或者是缓存数据中。例如,第一终端中安装有Eclipse Paho Java Client(MQTT客户端),其中,该第一终端使用MQTT协议,第一终端使用该Eclipse Paho Java Client和MQTT服务器建立长连接,该长连接过程中都是使用MQTT协议进行数据传输,在一些实施例中,第一终端先需要在MQTT服务端进行认证,在长连接建立后,第一终端执行长连接心跳检测以及连接中断重连等操作以保持长连接的可靠性。
一二模块102,用于实时监听第一消息管道,若监听到所述第一消息管道中包括预设主题信息,接收所述第二网络设备基于所述长连接推送的第二订单信息,其中,所述第二订单信息是第一网络设备使用第一对称密钥对第一订单信息加密后发送至所述第二网络设备的。其中,所述第一消息管道包括MQTT对消息分类的TOPIC(主题),在第一终端从第一网络设备中接收到所述第一消息管道后,对所述第一消息管道进行实时监听,其中,在监听过程中,第一终端向第二网络设备实时广播其正在监听第一消息管道相关的信息(例如,POS机向MQTT服务端实时说明该POS终端正在监听第一消息管道的信息,以便后续MQTT服务器收到与第一消息管道相关的信息后,将该相关信息转发至POS机)。
一三模块103,用于使用所述第一对称密钥解密所述第二订单信息以获取所述第一订单信息,其中,所述第一终端已提前存储所述第一对称密钥,所述第一订单信息供用户支付后执行对应的支付操作。例如,第一对称密钥在第一终端接收所述第二订单信息前已被存储至第一终端中,第一终端使用的该第一对称密钥与所述第一网络设备对第一订单信息加密的第一对称密钥为同一密钥,待第二订单信息被解密后,第一终端获取第一订单信息,并将该第一订单信息展示给用户,在用户进行支付操作后,第一终端拉起支付收银台通过第一网络设备对应的网关执行支付操作。
在一些实施例中,所述预设主题信息包括以下至少任一项:
订单支付业务信息;
所述第一终端对应的第一标识信息。相关操作与图2所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述第一终端在一一模块101之前还包括一四模块104(未示出),一四模块104,用于获取所述第一对称密钥并保存在所述第一终端。相关操作与图2所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述获取所述第一对称密钥并保存在所述第一终端包括:
向所述第一网络设备发送获取第一密钥请求;
接收第一网络设备响应于所述获取第一密钥请求返回的待解密第一对称密钥,其中,所述第一网络设备生成所述第一对称密钥,并使用所述第一非对称密钥中公钥对所述第一对称密钥进行加密生成所述待解密第一对称密钥;
使用所述第一非对称密钥中私钥对所述待解密第一对称密钥执行解密操作以获取所述第一对称密钥,并保存在所述第一终端。相关操作与图2所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述获取第一密钥请求包括使用第一非对称密钥中私钥加签的第一参数信息,所述第一参数信息包括所述第一终端对应的第一标识信息、所述第一终端所属的终端服务商标识信息、所述第一终端所属门店的门店商户标识信息,所述接收第一网络设备响应于所述获取第一密钥请求返回的待解密第一对称密钥,其中,所述第一网络设备生成所述第一对称密钥,并使用所述第一非对称密钥中公钥对所述第一对称密钥进行加密生成所述待解密第一对称密钥,包括:
接收第一网络设备响应于所述获取第一密钥请求返回的、加签后的待解密第一对称密钥以及第一消息管道,其中,所述第一消息管道与所述第一标识信息相匹配,所述第一网络设备生成所述第一对称密钥,并使用所述第一非对称密钥中公钥对所述第一对称密钥进行加密生成所述待解密第一对称密钥;
所述第一终端还包括一五模块105(未示出),一五模块105,用于使用所述第一网络设备提供的公钥对所述待解密第一对称密钥以及第一消息管道进行验签;一一模块101,用于基于所述第一消息管道建立第一终端与第二网络设备的长连接。相关操作与图2所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述第一终端还包括一六模块106(未示出),一六模块106,用于获取并保存所述第一非对称密钥中私钥。相关操作与图2所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述获取并保存所述第一非对称密钥中私钥包括:
响应于所述第一终端中的初始化事件,向所述第一网络设备发送获取第二密钥请求;
接收所述第一网络设备响应于所述获取第二密钥请求返回的报文信息,其中,所述报文信息包括所述第一网络设备使用第二对称密钥加密的所述第一非对称密钥中私钥以及所述第一网络设备使用第二非对称密钥中公钥加密的所述第二对称密钥;
对所述报文信息执行第一预设操作以获取所述第一非对称密钥中私钥,并保存所述第一非对称密钥中私钥。相关操作与图2所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述获取第二密钥请求包括使用所述第二非对称密钥中私钥加签的第二参数信息,所述第二参数信息包括所述第一标识信息、所述第一终端所属的终端服务商标识信息以及所述第一终端所属门店的门店商户标识信息,所述第一预设操作包括以下至少一项:
使用所述第一网络设备提供的公钥对所述报文信息进行验签;
使用所述第二非对称密钥中私钥解密所述加密的所述第二对称密钥以获取所述第二对称密钥;
使用所述第二对称密钥解密所述加密的所述第一非对称密钥中私钥以获取所述第一非对称密钥中私钥;相关操作与图2所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述第一非对称密钥的有效时长小于第一时长阈值,所述第一对称密钥的有效时长小于第二时长阈值。相关操作与图2所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述第一终端还包括一七模块107(未示出),一七模块107,用于实时监听第二消息管道,若监听到所述第二消息管道中包括版本更新的信息,接收所述第二网络设备推送的更新组件信息,其中,所述第二网络设备从所述第一终端所属终端服务商处或者所述第一网络设备处获取所述更新组件信息;
响应于所述第一终端中的更新事件,基于所述更新组件信息更新所述第一终端的版本信息。相关操作与图2所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
图8示出根据本申请一个实施例的一种用于推送订单信息的第一网络设备,所述第一网络设备包括二一模块201、二二模块202、二三模块203。
具体地,二一模块201,用于接收第三网络设备发送的加签后的第一订单信息,其中,所述第一订单信息是由第二终端获取后发送至所述第三网络设备后,由所述第三网络设备根据预置的第三非对称密钥中私钥执行加签操作的。其中,所述第二终端包括门店收银机,该第二终端与第一终端(例如POS机)相对应(即,该门店收银机进行下单,对应第一终端进行收款操作),第二终端扫描商品后执行下单操作以生成第一订单信息,第二终端将该第一订单信息发送至第三网络设备,其中,所述第三网络设备可以认为是当前第二终端所在门店对应的服务器(例如,商户A,商户A有对应的服务器,商户A部署了一个或者多个门店,该第二终端部署于该一个或者多个门店之一),第三网络设备接收到该第一订单信息后使用预置的第三非对称密钥中私钥对该第一订单信息进行加签操作,在一些实施例中,商户的门店要做支付前需要在第一网络设备的商户平台做进件审核,第一网络设备在对商户进行审核后,若审核通过则颁发对应的商户号(即商户标识信息),商户需要自己生成第三非对称密钥公私钥对(例如,RSA公私钥对),然后在商户平台上传商户号对应的第三非对称密钥中公钥,用作后续与第一网络设备的接口进行交互的时候验签的依据。例如,第三网络设备对所述第一订单信息中的所有字段(例如,商户号、所述第二终端对应的第一终端的第一标识信息、商户订单编号、订单总金额、商品描述、商户扩展数据包、随机字符串、请求时间戳、签名方式)按照每个请求字段key首字母升序排列成key=value&key=value方式加签处理,签名算法是SHA1WithRSA(请求随机字符串和签名是为了防篡改、请求时间戳是为了在一定时间窗口期外防请求重放)。第三网络设备将加签后的所述第一订单信息发送至第一网络设备。
二二模块202,用于对所述加签后的第一订单信息执行第二预设操作以生成第二订单信息,其中,所述第二预设操作包括使用第一对称密钥加密所述第一订单信息。
二三模块203,用于实时将所述第二订单信息以及所述第二订单信息的第一消息管道发送至第二网络设备,其中,所述第二网络设备基于所述第一消息管道将所述第二订单信息发送至第一终端。其中,所述第二网络设备包括MQTT服务器,MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,目前服务器是采用开源的EMQ(Elastic MQTTBroker,MQTT消息服务器)作为服务器,例如,由于第二网络设备单机能支持10万级连接,支持多版本MQTT协议,还可以支持水平扩展,对比第一网络设备在后续直接把第一订单信息发送到第一终端的方案(例如,搭建长连接网关),将第一订单信息转发至第二网络设备时资源和人力都是合算的。在第一网络设备对第一订单信息进行验签后,第一网络设备根据所述第二终端对应的第一终端的第一标识信息查询到与该第一标识信息对应的第一消息管道,然后把第二订单信息的内容发送到第二网络设备的第一消息管道中(例如,第一网络设备实时告知第二网络设备,第一网络设备正在发生与第一消息管道相关的订单信息),同时,第一终端一直在监听所述第一消息管道(例如,第一终端实时告知第二网络设备,第一终端实时监听第一消息管道中的信息),第二网络设备于是将第二订单信息发送至所述第一终端。
在一些实施例中,所述第一网络设备在二一模块201之前还包括二四模块204(未示出),二四模块204,用于接收所述第一终端所属终端服务商以及所述第一终端的注册请求;
响应于所述注册请求,为所述第一终端所属终端服务商配置终端服务商标识信息、以及为所述第一终端配置第一标识信息。相关操作与图3所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述第二预设操作还包括以下至少任一项:
使用第三非对称密钥中公钥对所述加签后的第一订单信息执行验签操作;
校验所述第一订单信息中的参数信息;
持久化所述第一订单信息;相关操作与图3所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述第一网络设备还包括步二五模块205(未示出),二五模块205,用于生成所述第一对称密钥。相关操作与图3所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述生成所述第一对称密钥包括:接收所述第一终端发送的获取第一密钥请求,其中,所述获取第一密钥请求包括所述第一终端使用第一非对称密钥中私钥加签的第一参数信息;
响应于所述获取第一密钥请求,使用所述第一非对称密钥中公钥对所述加签的第一参数信息进行验签,若验签成功,生成所述第一对称密钥。相关操作与图3所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述第一参数信息包括所述第一终端对应的所述第一标识信息、所述第一终端所属的终端服务商标识信息、所述第一终端所属门店的门店商户标识信息,所述第一网络设备还包括二六模块206(未示出),二六模块206,用于:
响应于所述获取第一密钥请求,使用所述第一非对称密钥中公钥对所述第一对称密钥进行加密生成待解密第一对称密钥,以及基于所述第一标识信息生成第一消息管道;
使用所述第一网络设备提供的秘钥对所述待解密第一对称密钥以及将所述第一消息管道执行加签操作,并将加签后的待解密第一对称密钥以及第一消息管道发送至所述第一终端。相关操作与图3所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述第一网络设备还包括二七模块207(未示出),二七模块207,用于生成所述第一非对称密钥。相关操作与图3所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述生成所述第一非对称密钥包括:
接收所述第一终端响应于所述第一终端中的初始化事件而发送的获取第二密钥请求,其中,所述获取第二密钥请求包括所述第一终端使用第二非对称密钥中私钥加签的第二参数信息,所述第二参数信息包括所述第一标识信息、所述第一终端所属的终端服务商标识信息以及所述第一终端所属门店的门店商户标识信息;
响应于所述获取第二密钥请求,使用所述第二非对称密钥中公钥对所述加签的第二参数信息进行验签,若验签成功,生成所述第一非对称密钥,其中,所述第二非对称密钥中公钥为所述第一终端的终端服务商为所述第一网络设备配置的。相关操作与图3所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述第一网络设备还包括二八模块208(未示出),二八模块208,用于响应于所述获取第二密钥请求,生成第二对称密钥;
使用所述第二对称密钥加密所述第一非对称密钥中私钥,以及使用所述第二非对称密钥中公钥加密所述第二对称密钥;
将所述使用所述第二非对称密钥中公钥加密的所述第二对称密钥以及所述使用所述第二对称密钥加密的所述第一非对称密钥中私钥作为报文信息返回至所述第一终端。相关操作与图3所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述使用所述第二对称密钥加密所述第一非对称密钥中私钥包括:
使用所述第二对称密钥加密所述第一非对称密钥中私钥,并将所述第一非对称密钥与所述第一标识信息、所述第一终端所属的终端服务商标识信息以及所述第一终端所属门店的门店商户标识信息进行关联。相关操作与图3所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
图9示出根据本申请一个实施例的一种用于推送订单信息的***设备,该设备包括:
第一网络设备接收第三网络设备发送的加签后的第一订单信息,其中,所述第一订单信息是由第二终端获取后发送至所述第三网络设备后,由所述第三网络设备根据预置的第三非对称密钥中私钥执行加签操作的;
所述第一网络设备对所述加签后的第一订单信息执行第二预设操作以生成第二订单信息,其中,所述第二预设操作包括使用第一对称密钥加密所述第一订单信息,并实时将所述第二订单信息以及所述第二订单信息的第一消息管道发送至第二网络设备;
所述第一终端建立所述第一终端与第二网络设备的长连接,并实时监听第一消息管道,若监听到所述第一消息管道中包括预设主题信息,接收所述第二网络设备基于所述长连接推送的第二订单信息,并使用所述第一对称密钥解密所述第二订单信息以获取所述第一订单信息,其中,所述第一终端已提前存储所述第一对称密钥,所述第一订单信息供用户支付后执行对应的支付操作。
除上述各实施例介绍的方法和设备外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
图10示出了可被用于实施本申请中所述的各个实施例的示例性***;
如图10所示在一些实施例中,***300能够作为各所述实施例中的任意一个设备。在一些实施例中,***300可包括具有指令的一个或多个计算机可读介质(例如,***存储器或NVM/存储设备320)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器305)。
对于一个实施例,***控制模块310可包括任意适当的接口控制器,以向(一个或多个)处理器305中的至少一个和/或与***控制模块310通信的任意适当的设备或组件提供任意适当的接口。
***控制模块310可包括存储器控制器模块330,以向***存储器315提供接口。存储器控制器模块330可以是硬件模块、软件模块和/或固件模块。
***存储器315可被用于例如为***300加载和存储数据和/或指令。对于一个实施例,***存储器315可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,***存储器315可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,***控制模块310可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备320及(一个或多个)通信接口325提供接口。
例如,NVM/存储设备320可被用于存储数据和/或指令。NVM/存储设备320可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备320可包括在物理上作为***300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备320可通过网络经由(一个或多个)通信接口325进行访问。
(一个或多个)通信接口325可为***300提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。***300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器(例如,存储器控制器模块330)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器的逻辑封装在一起以形成***级封装(SiP)。对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器的逻辑集成在同一模具上以形成片上***(SoC)。
在各个实施例中,***300可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,***300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,***300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个***传送到另一***的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机***使用的计算机可读信息/数据。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (24)
1.一种用于推送订单信息的方法,应用于第一终端,其中,该方法包括:
建立第一终端与第二网络设备的长连接;
实时监听第一消息管道,若监听到所述第一消息管道中包括预设主题信息,接收所述第二网络设备基于所述长连接推送的第二订单信息,其中,所述第二订单信息是第一网络设备使用第一对称密钥对第一订单信息加密后发送至所述第二网络设备的;
使用所述第一对称密钥解密所述第二订单信息以获取所述第一订单信息,其中,所述第一终端已提前存储所述第一对称密钥,所述第一订单信息供用户支付后执行对应的支付操作。
2.根据权利要求1所述的方法,其中,所述预设主题信息包括以下至少任一项:
订单支付业务信息;
所述第一终端对应的第一标识信息。
3.根据权利要求1所述的方法,其中,所述方法在建立第一终端与第二网络设备的长连接之前还包括:
获取所述第一对称密钥并保存在所述第一终端。
4.根据权利要求3所述的方法,其中,所述获取所述第一对称密钥并保存在所述第一终端包括:
向所述第一网络设备发送获取第一密钥请求;
接收第一网络设备响应于所述获取第一密钥请求返回的待解密第一对称密钥,其中,所述第一网络设备生成所述第一对称密钥,并使用所述第一非对称密钥中公钥对所述第一对称密钥进行加密生成所述待解密第一对称密钥;
使用所述第一非对称密钥中私钥对所述待解密第一对称密钥执行解密操作以获取所述第一对称密钥,并保存在所述第一终端。
5.根据权利要求4所述的方法,其中,所述获取第一密钥请求包括使用第一非对称密钥中私钥加签的第一参数信息,所述第一参数信息包括所述第一终端对应的第一标识信息、所述第一终端所属的终端服务商标识信息、所述第一终端所属门店的门店商户标识信息,
所述接收第一网络设备响应于所述获取第一密钥请求返回的待解密第一对称密钥,其中,所述第一网络设备生成所述第一对称密钥,并使用所述第一非对称密钥中公钥对所述第一对称密钥进行加密生成所述待解密第一对称密钥,包括:
接收第一网络设备响应于所述获取第一密钥请求返回的、加签后的待解密第一对称密钥以及第一消息管道,其中,所述第一消息管道与所述第一标识信息相匹配,所述第一网络设备生成所述第一对称密钥,并使用所述第一非对称密钥中公钥对所述第一对称密钥进行加密生成所述待解密第一对称密钥;
所述方法还包括:
使用所述第一网络设备提供的公钥对所述待解密第一对称密钥以及第一消息管道进行验签;
所述建立第一终端与第二网络设备的长连接包括:
基于所述第一消息管道建立第一终端与第二网络设备的长连接。
6.根据权利要求4或5所述的方法,其中,所述方法还包括:
获取并保存所述第一非对称密钥中私钥。
7.根据权利要求6所述的方法,其中,所述获取并保存所述第一非对称密钥中私钥包括:
响应于所述第一终端中的初始化事件,向所述第一网络设备发送获取第二密钥请求;
接收所述第一网络设备响应于所述获取第二密钥请求返回的报文信息,其中,所述报文信息包括所述第一网络设备使用第二对称密钥加密的所述第一非对称密钥中私钥以及所述第一网络设备使用第二非对称密钥中公钥加密的所述第二对称密钥;
对所述报文信息执行第一预设操作以获取所述第一非对称密钥中私钥,并保存所述第一非对称密钥中私钥。
8.根据权利要求7所述的方法,其中,所述获取第二密钥请求包括使用所述第二非对称密钥中私钥加签的第二参数信息,所述第二参数信息包括所述第一标识信息、所述第一终端所属的终端服务商标识信息以及所述第一终端所属门店的门店商户标识信息,
所述第一预设操作包括以下至少一项:
使用所述第一网络设备提供的公钥对所述报文信息进行验签;
使用所述第二非对称密钥中私钥解密所述加密的所述第二对称密钥以获取所述第二对称密钥;
使用所述第二对称密钥解密所述加密的所述第一非对称密钥中私钥以获取所述第一非对称密钥中私钥。
9.根据权利要求2至8中任一项所述的方法,其中,所述第一非对称密钥的有效时长小于第一时长阈值,所述第一对称密钥的有效时长小于第二时长阈值。
10.根据权利要求1所述的方法,其中,所述方法还包括:
实时监听第二消息管道,若监听到所述第二消息管道中包括版本更新的信息,接收所述第二网络设备推送的更新组件信息,其中,所述第二网络设备从所述第一终端所属终端服务商处或者所述第一网络设备处获取所述更新组件信息;
响应于所述第一终端中的更新事件,基于所述更新组件信息更新所述第一终端的版本信息。
11.一种用于推送订单信息的方法,应用于第一网络设备,其中,该方法包括:
接收第三网络设备发送的加签后的第一订单信息,其中,所述第一订单信息是由第二终端获取后发送至所述第三网络设备后,由所述第三网络设备根据预置的第三非对称密钥中私钥执行加签操作的;
对所述加签后的第一订单信息执行第二预设操作以生成第二订单信息,其中,所述第二预设操作包括使用第一对称密钥加密所述第一订单信息;
实时将所述第二订单信息以及所述第二订单信息的第一消息管道发送至第二网络设备,其中,所述第二网络设备基于所述第一消息管道将所述第二订单信息发送至第一终端。
12.根据权利要求11所述的方法,其中,所述方法在接收第三网络设备发送的加签后的第一订单信息之前还包括:
接收所述第一终端所属终端服务商以及所述第一终端的注册请求;
响应于所述注册请求,为所述第一终端所属终端服务商配置终端服务商标识信息、以及为所述第一终端配置第一标识信息。
13.根据权利要求11所述的方法,其中,所述第二预设操作还包括以下至少任一项:
使用第三非对称密钥中公钥对所述加签后的第一订单信息执行验签操作;
校验所述第一订单信息中的参数信息;
持久化所述第一订单信息。
14.根据权利要求11所述的方法,其中,所述方法还包括:
生成所述第一对称密钥。
15.根据权利要求14所述的方法,其中,所述生成所述第一对称密钥包括:
接收所述第一终端发送的获取第一密钥请求,其中,所述获取第一密钥请求包括所述第一终端使用第一非对称密钥中私钥加签的第一参数信息;
响应于所述获取第一密钥请求,使用所述第一非对称密钥中公钥对所述加签的第一参数信息进行验签,若验签成功,生成所述第一对称密钥。
16.根据权利要求15所述的方法,其中,所述第一参数信息包括所述第一终端对应的所述第一标识信息、所述第一终端所属的终端服务商标识信息、所述第一终端所属门店的门店商户标识信息,
所述方法还包括:
响应于所述获取第一密钥请求,使用所述第一非对称密钥中公钥对所述第一对称密钥进行加密生成待解密第一对称密钥,以及基于所述第一标识信息生成第一消息管道;
使用所述第一网络设备提供的秘钥对所述待解密第一对称密钥以及将所述第一消息管道执行加签操作,并将加签后的待解密第一对称密钥以及第一消息管道发送至所述第一终端。
17.根据权利要求15或16所述的方法,其中,所述方法还包括:
生成所述第一非对称密钥。
18.根据权利要求17所述的方法,其中,所述生成所述第一非对称密钥包括:
接收所述第一终端响应于所述第一终端中的初始化事件而发送的获取第二密钥请求,其中,所述获取第二密钥请求包括所述第一终端使用第二非对称密钥中私钥加签的第二参数信息,所述第二参数信息包括所述第一标识信息、所述第一终端所属的终端服务商标识信息以及所述第一终端所属门店的门店商户标识信息;
响应于所述获取第二密钥请求,使用所述第二非对称密钥中公钥对所述加签的第二参数信息进行验签,若验签成功,生成所述第一非对称密钥,其中,所述第二非对称密钥中公钥为所述第一终端的终端服务商为所述第一网络设备配置的。
19.根据权利要求18所述的方法,其中,所述方法还包括:
响应于所述获取第二密钥请求,生成第二对称密钥;
使用所述第二对称密钥加密所述第一非对称密钥中私钥,以及使用所述第二非对称密钥中公钥加密所述第二对称密钥;
将所述使用所述第二非对称密钥中公钥加密的所述第二对称密钥以及所述使用所述第二对称密钥加密的所述第一非对称密钥中私钥作为报文信息返回至所述第一终端。
20.根据权利要求18所述的方法,其中,所述使用所述第二对称密钥加密所述第一非对称密钥中私钥包括:
使用所述第二对称密钥加密所述第一非对称密钥中私钥,并将所述第一非对称密钥与所述第一标识信息、所述第一终端所属的终端服务商标识信息以及所述第一终端所属门店的门店商户标识信息进行关联。
21.一种用于推送订单信息的方法,其中,该方法包括:
第一网络设备接收第三网络设备发送的加签后的第一订单信息,其中,所述第一订单信息是由第二终端获取后发送至所述第三网络设备后,由所述第三网络设备根据预置的第三非对称密钥中私钥执行加签操作的;
所述第一网络设备对所述加签后的第一订单信息执行第二预设操作以生成第二订单信息,其中,所述第二预设操作包括使用第一对称密钥加密所述第一订单信息,并实时将所述第二订单信息以及所述第二订单信息的第一消息管道发送至第二网络设备;
所述第一终端建立所述第一终端与第二网络设备的长连接,并实时监听第一消息管道,若监听到所述第一消息管道中包括预设主题信息,接收所述第二网络设备基于所述长连接推送的第二订单信息,并使用所述第一对称密钥解密所述第二订单信息以获取所述第一订单信息,其中,所述第一终端已提前存储所述第一对称密钥,所述第一订单信息供用户支付后执行对应的支付操作。
22.一种用于推送订单信息的计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现如权利要求1至20中任一项所述方法的步骤。
23.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1至20中任一项所述方法的步骤。
24.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至20中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110330553.3A CN113014670B (zh) | 2021-03-25 | 2021-03-25 | 一种用于推送订单信息的方法、设备、介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110330553.3A CN113014670B (zh) | 2021-03-25 | 2021-03-25 | 一种用于推送订单信息的方法、设备、介质及程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113014670A true CN113014670A (zh) | 2021-06-22 |
CN113014670B CN113014670B (zh) | 2023-04-07 |
Family
ID=76408230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110330553.3A Active CN113014670B (zh) | 2021-03-25 | 2021-03-25 | 一种用于推送订单信息的方法、设备、介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113014670B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113886880A (zh) * | 2021-10-09 | 2022-01-04 | 京东科技信息技术有限公司 | 数据保护的方法、***、设备及存储介质 |
CN114429382A (zh) * | 2021-12-29 | 2022-05-03 | 广州盖盟达工业品有限公司 | 一种商品推荐方法、装置、存储介质及设备 |
CN115914246A (zh) * | 2022-10-08 | 2023-04-04 | 广州市玄武无线科技股份有限公司 | 离线消息的点对点通信方法、***、装置及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPQ696500A0 (en) * | 2000-04-17 | 2000-05-11 | Qsi Payment Technologies Pty Ltd | Electronic commerce payment system |
CN107578234A (zh) * | 2017-09-01 | 2018-01-12 | 泰康保险集团股份有限公司 | 支付方法、支付装置、介质及电子设备 |
JP2018525918A (ja) * | 2015-08-05 | 2018-09-06 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | 注文情報を処理する方法、装置、及びシステム |
CN109034798A (zh) * | 2018-07-13 | 2018-12-18 | 惠龙易通国际物流股份有限公司 | 基于微服务的电子支付***、方法、装置、设备和介质 |
US20190139039A1 (en) * | 2016-04-05 | 2019-05-09 | Samsung Electronics Co., Ltd. | Electronic payment method and electronic device using id-based public key cryptography |
CN111047313A (zh) * | 2020-03-12 | 2020-04-21 | 支付宝(杭州)信息技术有限公司 | 扫码支付、信息发送和密钥管理方法、装置和设备 |
WO2020134635A1 (zh) * | 2018-12-28 | 2020-07-02 | 百富计算机技术(深圳)有限公司 | 一种pos终端的证书更新方法、服务器及pos终端 |
CN111464486A (zh) * | 2019-01-22 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 信息交互方法、装置以及计算设备 |
-
2021
- 2021-03-25 CN CN202110330553.3A patent/CN113014670B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPQ696500A0 (en) * | 2000-04-17 | 2000-05-11 | Qsi Payment Technologies Pty Ltd | Electronic commerce payment system |
JP2018525918A (ja) * | 2015-08-05 | 2018-09-06 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | 注文情報を処理する方法、装置、及びシステム |
US20190139039A1 (en) * | 2016-04-05 | 2019-05-09 | Samsung Electronics Co., Ltd. | Electronic payment method and electronic device using id-based public key cryptography |
CN107578234A (zh) * | 2017-09-01 | 2018-01-12 | 泰康保险集团股份有限公司 | 支付方法、支付装置、介质及电子设备 |
CN109034798A (zh) * | 2018-07-13 | 2018-12-18 | 惠龙易通国际物流股份有限公司 | 基于微服务的电子支付***、方法、装置、设备和介质 |
WO2020134635A1 (zh) * | 2018-12-28 | 2020-07-02 | 百富计算机技术(深圳)有限公司 | 一种pos终端的证书更新方法、服务器及pos终端 |
CN111464486A (zh) * | 2019-01-22 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 信息交互方法、装置以及计算设备 |
CN111047313A (zh) * | 2020-03-12 | 2020-04-21 | 支付宝(杭州)信息技术有限公司 | 扫码支付、信息发送和密钥管理方法、装置和设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113886880A (zh) * | 2021-10-09 | 2022-01-04 | 京东科技信息技术有限公司 | 数据保护的方法、***、设备及存储介质 |
CN114429382A (zh) * | 2021-12-29 | 2022-05-03 | 广州盖盟达工业品有限公司 | 一种商品推荐方法、装置、存储介质及设备 |
CN115914246A (zh) * | 2022-10-08 | 2023-04-04 | 广州市玄武无线科技股份有限公司 | 离线消息的点对点通信方法、***、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113014670B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113014670B (zh) | 一种用于推送订单信息的方法、设备、介质及程序产品 | |
US20230353375A1 (en) | Reward point transfers using blockchain | |
JP6438989B2 (ja) | セキュアエレメントのトランザクション及びアセットの管理のための装置及び方法 | |
KR101799343B1 (ko) | 인증 정보의 사용 방법, 파기 방법 및 이를 지원하는 블록체인기반 인증 정보 관리 서버 | |
RU2661910C1 (ru) | Способ и система для защищенной передачи сообщений сервиса удаленных уведомлений в мобильные устройства без защищенных элементов | |
CN111767578B (zh) | 一种数据检验方法、装置及设备 | |
CN104217327A (zh) | 一种金融ic卡互联网终端及其交易方法 | |
US10733594B1 (en) | Data security measures for mobile devices | |
US20230325291A1 (en) | Systems and methods for simulation-based replay of integrated devices | |
US10581814B2 (en) | Re-programmable secure device | |
US11533175B1 (en) | Systems and methods for post-quantum cryptography on a smartcard | |
CN110599290A (zh) | 跨境交易的数据处理方法和*** | |
CN113034118B (zh) | 业务审核方法、***、可读存储介质和计算机程序产品 | |
CN112968899B (zh) | 一种加密通信的方法与设备 | |
EP2948893A1 (en) | Automated content signing for point-of-sale applications in fuel dispensing environments | |
CN113822664A (zh) | 用于开通离线支付的方法、装置、***、终端、服务器和介质 | |
US20220300943A1 (en) | Information processing apparatus, payment processing system, method, and program | |
CN204066182U (zh) | 一种金融ic卡互联网终端 | |
CN113379418B (zh) | 基于安全插件的信息验证方法、设备、介质及程序产品 | |
US20240232880A1 (en) | Managing cryptographic key lifecycles via multi-layer metadata and dynamic key exchanges | |
CN114785560B (zh) | 信息处理方法、装置、设备和介质 | |
EP4325411A1 (en) | Digital currency management method and system | |
CN117592979B (zh) | 一种用于收单结算的方法、设备及介质 | |
US11270362B1 (en) | Systems and methods for proof of application ownership | |
CN110599274B (zh) | 一种票据处理方法、装置、处理设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |