基于OpenSSLEngine的加解密方法及相关产品与流程

摘要: 本申请实施例涉及用于自动驾驶,特别是涉及一种基于opensslengine的加解密方法及相关产品。背景技术:1、相关技术中,opensslengine是open...
基于OpenSSLEngine的加解密方法及相关产品与流程

本申请实施例涉及用于自动驾驶,特别是涉及一种基于openssl engine的加解密方法及相关产品。

背景技术:

1、相关技术中,openssl engine是openssl库的一个扩展模块,允许开发者添加新的加密算法或对现有算法进行优化和硬件加速。

2、openssl engine的主要功能和特点包括:

3、扩展性:通过engine,开发者可以比较容易地将自己的硬件或第三方加密库加入到openssl中,替换其提供的软件算法,从而提供更强大的加密和解密功能。

4、硬件加速:engine可以与各种硬件设备接口对接,利用特定硬件的计算能力进行加密运算,以提高性能和满足安全需求。

5、算法替换:openssl engine替换第三方算法的方法包括绑定已有的nid(算法唯一标识符),使openssl加密库算法的函数指针被第三方软件加密库的函数指针或硬件加密模块的接口指针替换掉。

6、灵活性:加载引擎后,可以使用新注册的算法,而对openssl加密库中原有的算法的使用不产生影响。这提供了很大的灵活性,使得开发者可以根据需要选择最适合的加密算法或硬件加速方案。

7、此外,openssl engine的加载方式多样,开发者可以根据具体需求选择合适的加载方式来实现加密功能的扩展和优化。

8、总的来说,openssl engine是openssl库的一个重要组成部分,它提供了强大的扩展性和灵活性,使得开发者能够根据需要添加和优化加密算法,提高系统的安全性和性能。

9、openssl是一个开源的加密库,提供了各种加密算法和协议的实现。然而,某些应用场景可能需要更高级别的安全性、更高的性能或自定义的加密功能。为了满足这些需求,openssl引入了openssl engine技术。openssl engine允许开发人员通过加载不同的加密引擎来实现自定义的加密功能。

10、发明人发现,相关技术中使用openssl engine技术的方案,无法快捷地在原生加解密方法和自定义加解密方法进行切换,存在一定的耦合性。这种耦合性限制了在现有使用openssl engine技术的方案中快速、灵活地在原生加解密方法和自定义加解密方法之间进行切换,增加维护成本,并限制了系统的可扩展性和灵活性。

技术实现思路

1、本发明实施例提供了一种基于openssl engine的加解密方法及相关产品,用于至少解决上述技术问题之一。

2、第一方面,本发明实施例提供了一种基于openssl engine的加解密方法,包括:识别上层应用是否设置了自定义标记;若所述上层应用设置了自定义标记,响应于所述上层应用对openssl的原生接口的调用,通过engine捕获所述调用并将所述调用重定向至用户自定义的加解密功能逻辑,以通过所述用户自定义的加解密功能逻辑进行加解密;若所述上层应用未设置自定义标记,响应于所述上层应用对openssl的原生接口的调用,直接调用所述openssl的原生接口的功能逻辑进行加解密。

3、第二方面,本发明实施例提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述任一项基于openssl engine的加解密方法。

4、第三方面,本发明实施例提供一种存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项基于openssl engine的加解密方法。

5、第四方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项基于openssl engine的加解密方法。

6、第五方面,本申请实施例还提供一种可移动平台,包括如第二方面所述的电子设备。

7、本申请的方法通过使用openssl的自定义标记,可以将自定义的加解密方法与原生的openssl加解密方法解耦,使得自定义加解密方法能够独立于openssl的版本和实现,提供更高度的可定制性和灵活性。进一步地,还可以使系统不再受限于特定的加解密实现,而是可以根据需要动态地选择使用自定义的加解密逻辑或原生加解密逻辑。不仅提高了系统的灵活性和可扩展性,还简化了对加解密方法的管理和维护。

1.一种基于openssl engine的加解密方法,包括:

2.根据权利要求1所述的方法,其特征在于,所述自定义标记与engine关联,用于存储engine的密钥管理信息。

3.根据权利要求1所述的方法,其特征在于,在通过所述用户自定义的加解密功能逻辑进行加解密之后,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,所述用户自定义的加解密功能逻辑为硬件安全模块提供的加解密功能逻辑。

5.根据权利要求1所述的方法,其特征在于,在直接调用所述openssl的原生接口的功能逻辑进行加解密之后,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,在识别上层应用是否设置了自定义标记之前,所述方法还包括:

7.根据权利要求1-6中任一项所述的方法,其特征在于,在进行加解密之后,所述方法还包括:

8.一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述方法的步骤。

9.一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。

10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至7中任一项所述方法的步骤。

11.一种可移动平台,包括如权8所述电子设备。