System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及保密或安全通信,特别涉及一种静态链接库的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...
【专利技术属性】
技术研发人员:杨兴荣,陆育静,杨兴海,李建州,李建新,
申请(专利权)人:世纪恒通科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。