System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种静态链接库的API调用方法技术_技高网

一种静态链接库的API调用方法技术

技术编号:40363613 阅读:5 留言:0更新日期:2024-02-09 14:51
本发明专利技术公开了一种静态链接库的API调用方法,本发明专利技术通过API调用方和API提供方分别生成包含公钥和私钥的密钥对并约定校验密钥,API调用方和API提供方互换公钥,API调用方生成验证码并以校验密钥进行一次加密得到加密数据,以API提供方的公钥对加密数据和入参数据二次加密,将得到的数据发送给API提供方,API提供方以私钥对数据一次解密,得到加密数据和入参数据,以校验密钥对加密数据二次解密还原调用信息并准备出参数据,将出参数据通过相同的方式加密发送至API调用方,API调用方相应对收到的数据解密,获得调用信息。本发明专利技术可以有效确保是正确的用户在使用软件包中的API以及用户使用的是正确的软件包中的API,对于软件包的提供方和使用方都有安全保护。

【技术实现步骤摘要】

本专利技术涉及保密或安全通信,特别涉及一种静态链接库的api调用方法。


技术介绍

1、现代大型软件系统包括了各种软件包,软件包中的功能往往是以api调用的形式实现的,软件包之间通过双向的api调用关系,使得软件系统形成了一个有机的整体。但是这种常规的调用存在至少两种不安全的场景:其一,软件包本身可以被截获或者篡改,使用这些被篡改过的api会带来不可预估的后果;其二,使用者也可能是非法的用户,未付费用户或者其他非法用户可以使用软件包中的api进行调用并完成一定的功能、达到一定的目的,对软件包提供方造成经济损失或者产生法律纠纷。

2、现有技术中,软件集成方案大多采用restful,提供一组设计原则和约束条件,使得消息进行交互,并通过https安全协议对交互过程进行保护。然而通过https对restful接口进行保护的缺点包括:

3、(1)不能支持对通过原生的lib库形式的api交互的保护;

4、(2)https仅能对报文本身保护,而不能对关键数据进行二次加密;

5、(3)https本身消耗较大,对于本地的接口反复调用,时间性能差。

6、以上缺点导致了https形式的接口保护方式在以静态链接库形式交付的本地api调用的场景上适用性不好。


技术实现思路

1、本专利技术要解决的技术问题是提供一种静态链接库的api调用方法,以解决现有技术中的技术问题,有防止软件包被篡改或者非法使用、保护api调用的双方利益及安全。

2、为了解决上述技术问题,本专利技术的技术方案为:

3、一种静态链接库的api调用方法,包括以下步骤:

4、(1)api调用方生成包含公钥pubkey_1和私钥prikey_1的密钥对;api提

5、供方生成包含公钥pubkey_2和私钥prikey_2的密钥对;api调用方和api提

6、供方约定校验密钥key;

7、(2)api调用方和api提供方互换公钥;api调用方获得pubkey_2,api提

8、供方获得pubkey_1;

9、(3)api调用方生成验证码randomverify_1,以校验密钥key进行一次加

10、密得到加密数据v1,以pubkey_2对v1和入参数据datain进行二次加

11、密,得到加密数据v2,将v2发送至api提供方;

12、(4)api提供方以prikey_2对v2进行一次解密,得到v1和入参数据d

13、atain,以校验密钥key对v1进行二次解密,得到验证码randomverify_1

14、和入参数据datain;准备出参数据dataout;

15、(5)api提供方生成验证码randomverify_2,以校验密钥key进行一次加

16、密得到加密数据v3,以pubkey_1对v3和出参数据dataout进行二次加

17、密,得到加密数据v4,将v4发送至api调用方;

18、(6)api调用方以prikey_1对v4进行一次解密,得到v3和出参数据d

19、ataout,以校验密钥key对v3进行二次解密,得到验证码randomverify_2

20、和出参数据dataout,完成api调用。

21、进一步的,步骤1中,api调用方的包含公钥pubkey_1和私钥prikey_1的密钥对按照标准的rsa格式生成,api提供方的包含公钥pubkey_2和私钥pri key_2的密钥对按照标准的rsa格式生成。

22、进一步的,步骤1中,校验密钥key为api调用方和api提供方约定的序列号。

23、进一步的,步骤2中,api调用方和api提供方互换公钥的途径包括文件交换。

24、进一步的,步骤3中,校验密钥key以3des加密对验证码randomverify_1进行一次加密,得到加密数据v1。

25、进一步的,所述步骤3中,pubkey_2以rsa加密对v1和入参数据datain进行二次加密,得到加密数据v2。

26、进一步的,步骤5中,校验密钥key以3des加密对验证码randomverify_2进行一次加密,得到加密数据v3。

27、进一步的,步骤5中,pubkey_1以rsa加密对v3和出参数据dataout进行二次加密,得到加密数据v4。

28、本专利技术的优点在于:

29、本专利技术着力于对函数调用的加密和认证,可以有效的解决现有技术中的问题,确保是正确的用户在使用软件包中的api以及用户使用的是正确的软件包中的api,对于软件包的提供方和使用方都有安全保护,同时带来较小的时间效率损耗。

本文档来自技高网...

【技术保护点】

1.一种静态链接库的API调用方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的静态链接库的API调用方法,其特征在于:所述步骤1中,API调用方的包含公钥Pubkey_1和私钥Prikey_1的密钥对按照标准的RSA格式生成,API提供方的包含公钥Pubkey_2和私钥Pri key_2的密钥对按照标准的RSA格式生成。

3.根据权利要求1所述的静态链接库的API调用方法,其特征在于:步骤1中,校验密钥key为API调用方和API提供方约定的序列号。

4.根据权利要求1所述的静态链接库的API调用方法,其特征在于:步骤2中,API调用方和API提供方互换公钥的途径包括文件交换。

5.根据权利要求1所述的静态链接库的API调用方法,其特征在于:步骤3中,校验密钥key以3des加密对验证码randomVerify_1进行一次加密,得到加密数据V1。

6.根据权利要求1所述的静态链接库的API调用方法,其特征在于:所述步骤3中,Pubkey_2以RSA加密对V1和入参数据dataIn进行二次加密,得到加密数据V2。

7.根据权利要求1所述的静态链接库的API调用方法,其特征在于:所述步骤5中,校验密钥key以3des加密对验证码randomVerify_2进行一次加密,得到加密数据V3。

8.根据权利要求1所述的静态链接库的API调用方法,其特征在于:所述步骤5中,Pubkey_1以RSA加密对V3和出参数据dataOut进行二次加密,得到加密数据V4。

...

【技术特征摘要】

1.一种静态链接库的api调用方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的静态链接库的api调用方法,其特征在于:所述步骤1中,api调用方的包含公钥pubkey_1和私钥prikey_1的密钥对按照标准的rsa格式生成,api提供方的包含公钥pubkey_2和私钥pri key_2的密钥对按照标准的rsa格式生成。

3.根据权利要求1所述的静态链接库的api调用方法,其特征在于:步骤1中,校验密钥key为api调用方和api提供方约定的序列号。

4.根据权利要求1所述的静态链接库的api调用方法,其特征在于:步骤2中,api调用方和api提供方互换公钥的途径包括文件交换。

5.根据权利要求1所述的静态链接库的a...

【专利技术属性】
技术研发人员:杨兴荣陆育静杨兴海李建州李建新
申请(专利权)人:世纪恒通科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1