本公开涉及互联网,特别涉及一种网络通信方法、装置、电子设备及存储介质。
背景技术:
1、在互联网技术领域,netty作为java语言网络通信底层框架,被广泛应用于java客户端与服务器的网络通信中。由于java通用的国际ssl(secure sockets layer,安全套接字层)安全性能较低,为了更好地保护java客户端与服务器的网络通信安全,在java客户端与服务器通信过程中通常采用国密算法进行加密。
2、国密算法为一种非国际通用性密码算法,包含对称算法、非对称算法、摘要等算法。然而,java的原生netty ssl模块并不支持国密算法,为了能够支持国密算法,相关技术会对原生netty ssl模块的源代码进行更改,得到支持国密算法的netty ssl模块。在网络通信过程中,相关技术从更改后的netty ssl模块中识别并解析出国密算法的私钥、证书、国密签名算法等,然后基于netty-tcnative机制,通过国密算法的openssl提供安全通信能力。
3、然而,相关技术需要对原生netty ssl模块的源代码进行改动,java层需要集成更改后的netty ssl模块,netty-tcnative层才能调用国密算法openssl实现网络通信,在实现网络通信时易用性较差。
技术实现思路
1、本公开实施例提供了一种网络通信方法、装置、电子设备及存储介质,能够提高基于目标加密算法和目标签名算法进行网络通信时原生ssl模块的易用性。所述技术方案如下:
2、第一方面,提供了一种网络通信方法,所述方法包括:
3、将目标加密算法的代码和目标签名算法的代码加载到原生安全套接字层ssl模块可调用的java类中,所述目标加密算法和所述目标签名算法为所述原生ssl模块不支持的算法;
4、通过所述原生ssl模块调用所述java类,识别所述目标加密算法和所述目标签名算法;
5、基于所述原生ssl模块识别出的所述目标加密算法和所述目标签名算法进行网络通信。
6、第二方面,提供了一种网络通信装置,所述装置包括:
7、加载模块,用于将目标加密算法的代码和目标签名算法的代码加载到原生安全套接字层ssl模块可调用的java类中,所述目标加密算法和所述目标签名算法为所述原生ssl模块不支持的算法;
8、识别模块,用于通过所述原生ssl模块调用所述java类,识别所述目标加密算法和所述目标签名算法;
9、通信模块,用于基于所述原生ssl模块识别出的所述目标加密算法和所述目标签名算法进行网络通信。
10、第三方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现如第一方面所述的网络通信方法。
11、第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如第一方面所述的网络通信方法。
12、第五方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序代码,所述计算机程序代码存储在计算机可读存储介质中,电子设备的处理器从所述计算机可读存储介质读取所述计算机程序代码,所述处理器执行所述计算机程序代码,使得所述电子设备执行如第一方面所述的网络通信方法。
13、本公开实施例提供的技术方案带来的有益效果是:
14、在基于安全性较强而原生ssl模块不支持的目标加密算法和目标签名算法进行网络通信时,无需通过更改原生ssl模块的源代码的方式,定制一个能够识别出目标加密算法和目标签名算法的ssl模块,而是将目标加密算法的代码和目标签名算法的代码加载到原生ssl模块可调用的java类中,这样原生ssl模块通过调用该java类,即可识别出目标加密算法和目标签名算法,由于原生ssl模块在网络通信中的主要作用是识别出设备所支持的算法而不是直接与其他设备进行通信,因而采用该种将代码加载到类的方式不仅能够实现网络通信,且在实现网络通信的前提下,提高了网络通信时原生ssl模块的易用性。
1.一种网络通信方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将目标加密算法的代码加载到原生安全套接字层ssl模块可调用的java类中,包括:
3.根据权利要求1所述的方法,其特征在于,所述将目标签名算法的代码加载到原生安全套接字层ssl模块可调用的java类中,包括:
4.根据权利要求1所述的方法,其特征在于,所述基于所述原生ssl模块识别出的所述目标加密算法和所述目标签名算法进行网络通信,包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述通过所述原生ssl模块调用第三java类,识别所述目标签名算法的标识信息之前,还包括:
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
8.一种网络通信装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现如权利要求1至7中任一项所述的网络通信方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如权利要求1至7中任一项所述的网络通信方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序代码,所述计算机程序代码存储在计算机可读存储介质中,电子设备的处理器从所述计算机可读存储介质读取所述计算机程序代码,所述处理器执行所述计算机程序代码,使得所述电子设备执行如权利要求1至7中任一项所述的网络通信方法。