CN110213043A - 一种基于Java的集群功能测试方法 - Google Patents
一种基于Java的集群功能测试方法 Download PDFInfo
- Publication number
- CN110213043A CN110213043A CN201910386481.7A CN201910386481A CN110213043A CN 110213043 A CN110213043 A CN 110213043A CN 201910386481 A CN201910386481 A CN 201910386481A CN 110213043 A CN110213043 A CN 110213043A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- certificate
- java
- jsp
- test method
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3265—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于Java的集群功能测试方法,所述方法包括:通过Jsp前端代理页面执行加密计算功能,所述Jsp页面用于设置所述加密计算的算法和参数;调用JNI下发指令到后端集群计算系统,根据所述算法和参数设置JNI接口参数,指定目标加密计算算法,通知所述后端集群计算系统生成相应算法;通过JNI将后端集群计算系统执行结果传到Jsp前端代理页面进行展示。本发明提供一种基于前端Jsp页面以及Java的JNI,通过Jsp前端代理页面,调用Java JNI下发指令到后端集群计算系统程序,实现各种算法的功能测试,能够直观的展示其算法功能特点。
Description
技术领域
本发明属于计算机技术领域,特别涉及一种基于Java的集群功能测试方法。
背景技术
HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,使用HTTP协议传输隐私信息非常不安全。
为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(SecureSocketsLayer)协议(即TLS:Transport Layer Security协议前身),用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由TLS/SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比HTTP协议安全。
TLS/SSL协议具有身份验证、信息加密和完整性校验的功能,虽然使得HTTPS相对HTTP有很大的优势,也正因为TLS/SSL协议在信息加密过程中使用了非对称密钥交换技术,使得HTTPS性能和速度严重降低。
目前,RSA2048、ECC等主流密钥交换算法中的加解密计算、共享密钥计算等计算任务的复杂度较高,对CPU时间消耗过大。由于特定的部署方式限制,原有的软件框架严重制约了某业务软件的性能提升。为突破这一计算瓶颈,设计了加速集群计算系统,但集群计算系统是基于C语言端开发完成的,系统所提供的接口并没有界面,不能够直观的展示集群计算系统功能的执行结果,以及无法准确的测试是否支持多样的https网站证书的算法。
发明内容
针对上述问题,本发明提供了一种基于Java的集群功能测试方法,所述方法包括:
通过Jsp前端代理页面执行加密计算功能,所述Jsp页面用于设置所述加密计算的算法和参数;
调用JNI下发指令到后端集群计算系统,根据所述算法和参数设置JNI接口参数,指定目标加密计算算法,通知所述后端集群计算系统生成相应算法;
通过JNI将后端集群计算系统执行结果传到Jsp前端代理页面进行展示。
进一步地,所述通过Jsp前端代理页面执行算法功能包括执行算法功能的以下计算环节:
获取公钥和私钥;
加密和解密;
签名和验签。
进一步地,所述指定目标加密计算算法包括通过设置算法及其算法参数初始化后端集群算法和/或通过指定算法库地址指定算法;
所述算法参数包括:算法类型、算法位数、曲线类型、业务ID。
进一步地,所述计算环节的执行包括发送计算执行任务和获取计算执行结果。
进一步地,根据所述获取公钥和私钥的执行结果,执行所述加密和解密、签名和验签。
进一步地,所述获取公钥和私钥包括:
在线获取非对称加密算法的公钥和私钥,所述公钥和私钥一一配对;
将公钥和私钥以base64编码的形式展示于文本框中。
进一步地,所述加密和解密包括:
通过文本框输入要测试的明文内容;
点击加密使用公钥进行加密,明文内容以base64编码的形式展示于文本框中;
点击解密使用私钥进行解密,还原加密前的明文内容并展示于文本框中。
进一步地,所述签名和验签包括:
选择所述算法支持的一种哈希函数;
点击签名进行签名操作;
点击验签获取验签结果,所述验签结果在文本框中进行展示。
进一步地,还包括https地址证书链测试:设置https地址,一键触发证书链验证。
进一步地,所述证书链验证包括:
连接https网站,文本框中展示网站连接结果;
获取网站服务器证书,文本框中展示证书获取结果;
获取签发网站服务器证书的上一级证书,文本框中展示证书获取结果;
调用JNI接口的签证签名函数,使用上一级证书的公钥验证网站服务器证书的签名值,从而验证网站服务器证书的合法性,文本框中展示证书验签结果以及展示证书链验证结果;
若上一级证书有更上级证书,递归验证上一级证书的合法性,直到根证书。
本发明提供一种基于前端Jsp页面以及Java的JNI,通过Jsp前端代理页面,调用Java JNI下发指令到后端集群计算系统程序,实现各种算法的功能测试,能够直观的展示其算法功能特点;将浏览器作为测试界面,使用方便,通过界面控件操作可以指定测试目标算法、计算环节,不需要测试人员针对多样化的算法和环节编写测试代码用例,大大提高了测试的易用性、灵活性和效率;基于Java的界面测试,能够支持跨平台运行。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明测试方法的流程示意图;
图2示出了集群计算系统架构示意图;
图3示出了集群计算系统总体流程示意图;
图4示出了集群计算系统的结构示意图;
图5示出了前端代理子系统的工作流程示意图;
图6示出了密码卡运算示意图;
图7示出了本发明测试方法的流程结构图;
图8示出了本发明测试方法的证书链示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种基于Java的集群功能测试方法,如图1示出了本发明测试方法的流程示意图,所述方法包括:
通过Jsp(Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准)前端代理页面执行加密计算功能,所述Jsp页面用于设置所述加密计算的算法和参数;具体的,所述通过Jsp前端代理页面执行算法功能包括执行算法功能的以下计算环节:获取公钥和私钥;加密和解密;签名和验签;所述计算环节的执行包括发送计算执行任务和获取计算执行结果;根据所述获取公钥和私钥的执行结果,执行所述加密和解密、签名和验签。
本发明实施例中,将计算环节拆解成上述多个执行功能,能够精细地测试不同算法在不同环节的执行。相关联的计算环节,如加密和解密提供相关联的测试入口,方便通过一个测试场景对两个环境进行相互验证。本实施例中,加密、解密、签名、验签功能可以依据获取公钥和私钥功能的执行结果,从而简化参数设置流程。
调用JNI下发指令到后端集群计算系统,根据所述算法和参数设置JNI接口参数,指定目标加密计算算法,通知所述后端集群计算系统生成相应算法;具体的,所述指定目标加密计算算法包括通过设置算法及其算法参数初始化后端集群算法和/或通过指定算法库地址指定算法;所述算法参数包括:算法类型、算法位数、曲线类型、业务ID。本发明实施例中,前端调用JNI接口下发指令到后端集群计算系统,设置算法参数指定目标算法,后端集群计算系统根据算法参数生成相应的算法以及公私钥对,执行加密、解密、签名、验签功能。
通过JNI将后端集群计算系统执行结果传到Jsp前端代理页面进行展示。
所述获取公钥和私钥包括:
在线获取非对称加密算法的公钥和私钥,所述公钥和私钥一一配对;
将公钥和私钥以base64编码的形式展示于文本框中。
所述加密和解密包括:
通过文本框输入要测试的明文内容;
点击加密使用公钥进行加密,明文内容以base64编码的形式展示于文本框中;
点击解密使用私钥进行解密,还原加密前的明文内容并展示于文本框中。
所述签名和验签包括:
选择所述算法支持的一种哈希函数;
点击签名进行签名操作;
点击验签获取验签结果,所述验签结果在文本框中进行展示。
本发明还包括https地址证书链测试:设置https地址,一键触发证书链验证。所述证书链验证包括:
连接https网站,文本框中展示网站连接结果;
获取网站服务器证书,文本框中展示证书获取结果;
获取签发网站服务器证书的上一级证书,文本框中展示证书获取结果;
调用JNI接口的签证签名函数,使用上一级证书的公钥验证网站服务器证书的签名值,从而验证网站服务器证书的合法性,文本框中展示证书验签结果以及展示证书链验证结果;
若上一级证书有更上级证书,递归验证上一级证书的合法性,直到根证书。
本发明方法可用于集群计算系统,其中集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理,一个客户与集群相互作用时,集群像是一个独立的服务器。示例性的,以集群计算系统为例进行说明,图2示出了集群计算系统架构示意图,如图2所示,本系统架构分为硬件层、硬件接口封装层、后端服务计算集群层、代理接口层和前端调用层五个层次,其中,
硬件层:包括密码卡和CPU,主要支持密码卡和CPU的计算。
硬件接口封装层:对基于Openssl的密码卡接口和基于Intel指令优化(充分利用AVX2指令集和新指令MULX、ADCX、ADOX、RORX、RDSEED等优化)的Openssl接口进行二次封装,供上层进行加解密计算调用。其中,Openssl在计算机网络上是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。
后端服务计算集群层:负责计算任务的收发管理、调用硬件封装接口执行加解密计算,对计算结果缓存,并发送给代理接口。
代理接口层:负责集群的查询管理,计算任务的缓存与发送,计算结果的接收和缓存、查询,任务发送量的控制等。
前端调用层:负责调用代理接口,发送加解密任务,取回任务执行结果。
图3示出了集群计算系统总体流程示意图,如图3所示,示例性的,前端设有若干个前端服务器,每个前端服务器包括业务系统和前端代理,后端设有计算集群、信息入库服务、数据库和集群管理子系统,计算集群中设有若干个计算节点,每个计算节点包括计算服务、信息采集服务和Zookeeper(是一个高效的分布式协调服务,可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务),具体步骤如下:
1)调用计算接口:前端业务系统调用前端代理接口发出计算请求;
2)请求计算节点:前端代理连接所配置好的集群节点Zookeeper进程;
3)返回节点信息:Zookeeper返回节点资源列表;
4)发送计算任务:前端代理选择较空闲的后端计算节点服务器并连接;
5)缓存计算任务:后端计算节点缓存计算任务;
6)任务接收成功:后端计算节点返回前端代理任务接收成功;
7)返回调用结果:前端代理接口返回前端业务系统计算任务调用结果;
8)任务计算:后端计算节点执行计算任务;
9)返回计算结果:后端计算节点返回前端代理计算结果;
10)缓存计算结果:前端代理缓存任务计算结果;
11)查询计算结果:前端业务系统调用接口进行任务结果查询;
12)返回计算结果:前端代理接口返回前端业务系统任务计算结果;
13)定时采集节点数据:信息采集服务定时采集节点信息(资源使用率、任务情况等);
14)写入采集节点数据:信息采集服务连接Zookeeper发送采集到的节点信息;
15)读取集群数据:信息入库服务连接Zookeeper读取集群所有节点信息;
16)保存集群数据:信息入库服务将集群信息写入数据库;
17)读取集群信息并展示:集群管理子系统读取数据库数据并展示。
图4示出了集群计算系统的结构示意图,如图4所示,集群计算系统包括前端代理、集群中间件(Zookeeper)、计算服务、信息采集服务、信息入库服务、数据库和集群管理。
具体的,前端代理包括业务对接模块、数据收发模块和任务分配模块。其中,业务对接模块通过通用接口接收业务软件发来的相关计算任务并进行缓存(实现流控),负责将后端计算集群的计算结果返回给前端业务软件,尽量降低对现有业务系统的影响,使业务系统平滑过渡;数据收发模块负责通过前端服务器与后端集群服务器之间的交换网络将计算任务分发给后端集群服务器,负责接收后端集群返回的计算结果;任务分配模块根据后端集群各个节点的资源使用率情况,选择最优的计算节点,实现后端集群服务器之间的动态负载均衡。
图5示出了前端代理子系统的工作流程示意图,如图5所示,前端代理子系统包括以下流程:
1)身份注册
前端调用身份注册接口,接口向后端服务发起负载查询请求,获取空闲服务器信息,后端服务向空闲服务器发起连接建立请求,建立通信通道,并接收后端服务生成的唯一身份标识,返回给前端。
2)业务对接-任务发送
前端调用任务发送接口,将任务信息缓存到任务缓存队列,身份注册成功后启动任务发送工作线程,读取任务缓存队列,将任务信息批量发送给后端服务。
3)业务对接-结果接收
身份注册成功后启动结果接收工作线程,向后端发起接收任务计算结果请求,将后端发送过来的批量结果写入结果缓存Map,前端调用结果查询接口,查询结果缓存Map,得到对应的结果返回给前端。
4)身份注销
发送身份注销请求,后端服务关闭连接通道,释放资源。
本系统基于Openssl标准接口进行开发,目前基于Openssl引擎的密码卡无需修改程序均可支持,如图6示出了密码卡运算示意图。
当密码卡厂商提供的Openssl引擎接口库与本系统所使用的Openssl接口库有冲突,将采用动态独立加载两种接口库的形式,将两种接口分别提取出来,分离调用,当替换密码卡时,只需替换掉密码卡Openssl引擎接口库即可。
支持包括但不限于以下算法:
非对称密钥交换算法:
RSA、DH、DHE、ECDH、ECDHE;
数字签名算法:
RSA、DSA、ECDSA。
其中,RSA为目前最有影响力和最常用的公钥加密算法。
本系统基于Openssl标准接口进行开发,加载基于Intel指令优化的Openssl接口库,支持非对称加解密、签名验证、密钥交换等各种标准算法,可灵活选择任意支持算法进行计算。
由于本集群计算系统是基于C语言开发完成的,因此不能够直观的展示其算法功能执行结果,以及无法准确的测试是否支持所有https网站证书的算法。为了解决此问题,本发明在此系统上开发出了Jsp前端代理页面,并在Jsp前端代理页面与后端集群计算系统之间封装有Java JNI接口。Jsp前端代理页面上可以提供各种功能的执行按钮,并且可以在Jsp前端代理页面上显示出各种功能的执行结果。
图7示出了本发明测试方法的流程结构图,示例性的,如图7所示,Jsp前端代理页面可进行获取公钥和私钥、加密和解密、签名和验签、https客户端测试。在Jsp前端代理页面上设有公钥Send按钮、公钥Obtain按钮、私钥Send按钮、私钥Obtain按钮,并设有公钥展示文本框、私钥展示文本框。公钥Send按钮用于公钥获取任务的发送,点击公钥Send按钮,调用JNI接口从后端集群计算系统获取相应的算法,算法包括主流的非对称加密算法以及密钥交换算法,具体的,非对称加密算法包括RSA、DSA、ECDSA,所述密钥交换算法包括DH、DHE、ECDH、ECDHE,算法的获取包括对后端使用的算法进行初始化和通过第三方测试接口连接第三方自定义算法库。其中,对后端使用的算法进行初始化就是对代理接口的初始化,设置本次计算任务所用的加密算法、密钥长度等参数,相关参数字段如下表所示:
对于后端集群所支持的加密算法,通过JSP页面控件可以直接在测试时进行选择,并通过界面控件设置上述算法参数。选定算法后,可以通过控件命令执行算法获取,或者在执行算法对应的计算环节时,前端系统根据当前选定的算法进行算法获取。所述算法获取是指,通过初始化JNI函数,将上述控件设置的算法参数作为JNI接口参数,指定要调用的计算方法,通知后端计算集群系统,前端业务系统要调用某种算法计算,请后端计算集群系统生成相应的算法任务到队列中,并通过后续执行任务生成相应的公私钥对。
也可通过第三方测试接口连接第三方自定义算法库生成算法并生成相应的公私钥对,将生成的算法和公私钥对放入缓存中,本实施实例中,通过在JSP页面上提供文本输入控件,用户可以将第三方算法库的库文件地址输入到控件中,作为获取方法的参数,从而拓展了测试算法的范围。
设置算法后,点击公钥Obtain按钮,从缓存中取出公钥,并将公钥以base64编码的形式展示于公钥展示文本框中。私钥Send按钮用于私钥获取任务的发送,点击私钥Send按钮的执行原理同公钥Send按钮。点击私钥Obtain按钮,从缓存中取出私钥,并将私钥以base64编码的形式展示于私钥展示文本框中。本发明实施例是针对加速计算集群的测试,加速计算集群采用任务调度方式执行加密计算任务(包括加密计算相关的各个环节:密钥获取、加密、解密等),并且集群接收任务执行后,通过对执行结果查询,最终获取执行结果,因此本发明实施例针对集群任务执行过程设置了Send和Obtain按钮,能够细致的测试任务执行的具体步骤,通过设置点击两个按钮的时间间隔,可以测试任务是否已经执行完成以及执行完成所需要的时间。在另外的实施例中,也可以设置一键执行,系统在发送任务之后经过指定的时间查询任务执行结果。
在Jsp前端代理页面上还设有加密Send按钮、加密Obtain按钮、解密Send按钮、解密Obtain按钮,并设有输入文本框、加密展示文本框。在输入文本框中输入明文内容,如“你好,世界!”,点击加密Send按钮,调用JNI接口从后端集群计算系统获取相应的算法,通过该算法中的公钥对明文内容进行加密,加密后的内容放入缓存中。点击加密Obtain按钮,从缓存中取出加密后的内容,并将加密后的内容以base64编码的形式展示于加密展示文本框中。点击解密Send按钮,调用JNI接口从后端集群计算系统获取该种算法,通过该算法中的私钥对加密后的内容进行解密,解密后的内容放入缓存中。点击解密Obtain按钮,从缓存中取出解密后的内容,并将解密后的内容以明文“你好,世界!”的形式展示于输入文本框中。将加密、解密测试功能关联起来,通过一次输入测试文本,可以测试两个功能的执行,关联验证两个功能,用户可以直观的对比加密前的文本和解密后的文本,在另外的实施例中,也可以提供上述文本一键对比的操作入口,通过前端系统对文本进行比对,在JSP页面上输出对比结果。本发明实施例中所述的JSP测试页面,方便用户针对不同的文本进行验证,操作简便灵活。优选地,加密、解密功能与上述算法获取功能可以关联,将上述算法获取中设置的算法作为加密、解密用算法,将上述测试获取公钥的结果作为加密用公钥,私钥作为解密用的私钥。同样地,算法获取和密钥获取也可以作为以下签名、验签功能测试的参数。
在Jsp前端代理页面上还设有签名Send按钮、签名Obtain按钮、验签Send按钮、验签Obtain按钮,并设有签名值展示文本框、验签值展示文本框。选择算法支持的一种哈希函数,点击签名Send按钮,调用JNI接口从后端集群计算系统获取相应的算法,通过该算法中的私钥进行签名操作,得到的就是对应的数字签名,将数字签名放入缓存中。点击签名Obtain按钮,从缓存中取出数字签名,并将数字签名以base64编码的形式展示于签名值展示文本框中。点击验签Send按钮,调用JNI接口从后端集群计算系统获取该种算法,通过该算法中的公钥对数字签名进行验签,验签后的结果放入缓存中。点击验签Obtain按钮,读取缓存中的验签结果,并根据验签结果在验签值展示文本框中显示“验签成功”或“验签失败”。
在Jsp前端代理页面上还设有访问测试按钮,并设有网址输入框、访问信息展示文本框,访问测试按钮可以进行一键访问测试。通过后台获取https网站证书链相关信息,如图8示出了本发明测试方法的证书链示意图,如图8所示,示例性的,证书链包括三层,但不限于此,底层为需要使用服务器证书,其中证书参数字段相关信息如下表所示:
证书字段 | 说明 | 对应字段类型 |
publicKey | 公钥 | Byte[] |
signature | 签名 | Byte[] |
crypto_type | 算法类型 | Int |
hashType | 哈希算法 | Int |
encodedInfo | 签名数据 | Byte[] |
nbit | 算法位数 | Int |
openssl | Ecc曲线 | Int |
在网址输入框输入网址,点击访问测试按钮进行一键访问测试。先是进行连接https网站,访问信息展示文本框会显示网址输入框中的网址,并在网址后面显示“网站连接成功”或“网站连接失败”;再获取网站服务器证书,访问信息展示文本框会显示网址输入框中的网址,并在网址后面显示“网站获取证书成功”或“网站获取证书失败”;然后获取签发网站服务器证书的上一级证书;最后获取根证书。调用JNI接口中的验证签名函数层级验证服务器证书,具体的,使用根证书的公钥验证第二层服务器证书的签名值,访问信息展示文本框会显示第二层服务器证书的名称,并在名称后面显示“证书验签成功”或“证书验签失败”;使用第二层服务器证书的公钥验证第三层服务器证书的签名值,访问信息展示文本框会显示第三层服务器证书的名称,并在名称后面显示“证书验签成功”或“证书验签失败”。当根证书之外的所有层级服务器证书均验签成功后,访问信息展示文本框会显示“证书链验证成功”,从而验证该网站服务器证书为合法,否则显示“证书链验证失败”。当某一层服务器证书出现验签失败,则结束验签,并显示“证书链验证失败”。如果上一级证书有更上级证书,递归验证上一级证书的合法性,直到根证书。本实施例中,通过一键触发整个证书链验证,能够更好的模拟用户访问HTTPS网站的场景。进一步地,可以对验证证书链的耗时进行记录和显示,也可以精细化地对证书链验证的各个步骤、各级证书验证的节点执行进行记录。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于Java的集群功能测试方法,其特征在于,所述方法包括:
通过Jsp前端代理页面执行加密计算功能,所述Jsp页面用于设置所述加密计算的算法和参数;
调用JNI下发指令到后端集群计算系统,根据所述算法和参数设置JNI接口参数,指定目标加密计算算法,通知所述后端集群计算系统生成相应算法;
通过JNI将后端集群计算系统执行结果传到Jsp前端代理页面进行展示。
2.根据权利要求1所述的基于Java的集群功能测试方法,其特征在于,所述通过Jsp前端代理页面执行算法功能包括执行算法功能的以下计算环节:
获取公钥和私钥;
加密和解密;
签名和验签。
3.根据权利要求1所述的基于Java的集群功能测试方法,其特征在于,
所述指定目标加密计算算法包括通过设置算法及其算法参数初始化后端集群算法和/或通过指定算法库地址指定算法;
所述算法参数包括:算法类型、算法位数、曲线类型、业务ID。
4.根据权利要求2所述的基于Java的集群功能测试方法,其特征在于,所述计算环节的执行包括发送计算执行任务和获取计算执行结果。
5.根据权利要求2所述的基于Java的集群功能测试方法,其特征在于,
根据所述获取公钥和私钥的执行结果,执行所述加密和解密、签名和验签。
6.根据权利要求2所述的基于Java的集群功能测试方法,其特征在于,所述获取公钥和私钥包括:
在线获取非对称加密算法的公钥和私钥,所述公钥和私钥一一配对;
将公钥和私钥以base64编码的形式展示于文本框中。
7.根据权利要求2所述的基于Java的集群功能测试方法,其特征在于,所述加密和解密包括:
通过文本框输入要测试的明文内容;
点击加密使用公钥进行加密,明文内容以base64编码的形式展示于文本框中;
点击解密使用私钥进行解密,还原加密前的明文内容并展示于文本框中。
8.根据权利要求2所述的基于Java的集群功能测试方法,其特征在于,所述签名和验签包括:
选择所述算法支持的一种哈希函数;
点击签名进行签名操作;
点击验签获取验签结果,所述验签结果在文本框中进行展示。
9.根据权利要求1-8任一所述的基于Java的集群功能测试方法,其特征在于,还包括https地址证书链测试:设置https地址,一键触发证书链验证。
10.根据权利要求9所述的基于Java的集群功能测试方法,其特征在于,所述证书链验证包括:
连接https网站,文本框中展示网站连接结果;
获取网站服务器证书,文本框中展示证书获取结果;
获取签发网站服务器证书的上一级证书,文本框中展示证书获取结果;
调用JNI接口的签证签名函数,使用上一级证书的公钥验证网站服务器证书的签名值,从而验证网站服务器证书的合法性,文本框中展示证书验签结果以及展示证书链验证结果;
若上一级证书有更上级证书,递归验证上一级证书的合法性,直到根证书。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910386481.7A CN110213043A (zh) | 2019-05-09 | 2019-05-09 | 一种基于Java的集群功能测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910386481.7A CN110213043A (zh) | 2019-05-09 | 2019-05-09 | 一种基于Java的集群功能测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110213043A true CN110213043A (zh) | 2019-09-06 |
Family
ID=67787018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910386481.7A Pending CN110213043A (zh) | 2019-05-09 | 2019-05-09 | 一种基于Java的集群功能测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213043A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032265A (zh) * | 2021-03-25 | 2021-06-25 | 深圳忆联信息系统有限公司 | 非对称加密算法测试方法、装置、计算机设备及存储介质 |
CN117579531A (zh) * | 2024-01-15 | 2024-02-20 | 云筑信息科技(成都)有限公司 | 一种需要动态加验签接口的压测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101027630A (zh) * | 2004-07-07 | 2007-08-29 | 布哈罗萨公司 | 在线数据加密与解密 |
CN101576843A (zh) * | 2008-05-07 | 2009-11-11 | 阿里巴巴集团控股有限公司 | 一种测试应用程序接口的方法和装置 |
CN103019928A (zh) * | 2011-09-27 | 2013-04-03 | 北京新媒传信科技有限公司 | 一种自动化测试方法和系统 |
-
2019
- 2019-05-09 CN CN201910386481.7A patent/CN110213043A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101027630A (zh) * | 2004-07-07 | 2007-08-29 | 布哈罗萨公司 | 在线数据加密与解密 |
CN101576843A (zh) * | 2008-05-07 | 2009-11-11 | 阿里巴巴集团控股有限公司 | 一种测试应用程序接口的方法和装置 |
CN103019928A (zh) * | 2011-09-27 | 2013-04-03 | 北京新媒传信科技有限公司 | 一种自动化测试方法和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032265A (zh) * | 2021-03-25 | 2021-06-25 | 深圳忆联信息系统有限公司 | 非对称加密算法测试方法、装置、计算机设备及存储介质 |
CN113032265B (zh) * | 2021-03-25 | 2023-08-08 | 深圳忆联信息系统有限公司 | 非对称加密算法测试方法、装置、计算机设备及存储介质 |
CN117579531A (zh) * | 2024-01-15 | 2024-02-20 | 云筑信息科技(成都)有限公司 | 一种需要动态加验签接口的压测方法 |
CN117579531B (zh) * | 2024-01-15 | 2024-05-28 | 云筑信息科技(成都)有限公司 | 一种需要动态加验签接口的压测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4120114A1 (en) | Data processing method and apparatus, smart device and storage medium | |
Gu et al. | Secure data query framework for cloud and fog computing | |
CN112733107A (zh) | 一种信息验证的方法、相关装置、设备以及存储介质 | |
WO2018112940A1 (zh) | 区块链节点的业务执行方法、装置及节点设备 | |
WO2022095730A1 (zh) | 业务通信方法、系统、装置及电子设备 | |
CN110311883A (zh) | 身份管理方法、设备、通信网络及存储介质 | |
Khor et al. | Public blockchains for resource-constrained IoT devices—A state-of-the-art survey | |
WO2022166637A1 (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
CN103490892A (zh) | 数字签名方法和系统、应用服务器和云密码服务器 | |
US10021144B2 (en) | Techniques for establishing a trusted cloud service | |
CN110188022A (zh) | 一种基于Java的集群性能测试方法及系统 | |
JP2023547630A (ja) | ポスト量子暗号を使用する証明書ベースのセキュリティ | |
Brincat et al. | On the use of Blockchain technologies in WiFi networks | |
CN112600820B (zh) | 一种网络连接方法、装置、计算机设备以及存储介质 | |
CN111131416A (zh) | 业务服务的提供方法和装置、存储介质、电子装置 | |
Hong et al. | A flexible attribute based data access management scheme for sensor-cloud system | |
CN110213043A (zh) | 一种基于Java的集群功能测试方法 | |
Li et al. | A distributed authentication protocol using identity-based encryption and blockchain for LEO network | |
Lo et al. | A secure IoT firmware update framework based on MQTT protocol | |
Señor et al. | Analysis of the ntru post-quantum cryptographic scheme in constrained iot edge devices | |
Ke et al. | SDN-based privacy and functional authentication scheme for fog nodes of smart healthcare | |
da Costa et al. | Securing light clients in blockchain with DLCP | |
Ometov et al. | a comprehensive and reproducible comparison of cryptographic primitives execution on Android devices | |
CN112560073A (zh) | 验证数据来源可靠性的方法、装置及系统 | |
WO2009066978A2 (en) | Method and system for generating a proxy digital certificate to a grid portal in distributed computing infrastructure by data transfer across a public network |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190906 |