本资源提供了一套使用Delphi及其他编程语言实现的加密库,支持国家密码局推荐的SM4对称加密算法及SM2非对称算法(含签名和验证功能),适用于需满足国内信息安全标准的应用开发。
基于C#编写的COM组件DLL可实现SM2签名验签及SM4加解密功能,并完全适用于黑龙江省国家医保接口的应用。
调用该DLL的名称为:JQSM2SM4.dll,其中加解密类名为:JQSM2SM4.SM2SM4Util。CLSID标识为5B38DCB3-038C-4992-9FA3-1D697474FC70。
GetSM2SM4函数说明如下:
函数原型: public string GetSM2SM4(string smType, string sM2Prikey, string sM4Key, string sInput)
参数定义:
1)smType:输入固定字符串,以区分功能需求。具体为:SM2Sign用于生成签名、SM4DecryptECB用于解密操作、SM4EncryptECB用于加密操作。
2)sM2Prikey: SM2私钥
3)sM4Key: SM4密钥
4)sInput:根据smType的值来决定输入内容。例如,当使用“SM2Sign”时,则需提供待签名的数据;若选择解密功能(SM4DecryptECB),则应输入需要被解密的字符串。
返回值:
函数将依据参数smType的具体情况而产生相应的输出结果:如生成签名、执行加密或进行数据解密。当出现异常状况时,会反馈“加解密异常:详细错误说明”的信息以供调试和排查问题使用。
该DLL基于.NET框架4.0编写,在大多数Windows 7及10系统中无需额外安装即可正常使用;但若在XP等较老的操作系统上部署,则需先单独安装.net framework 4.0。此外,由于是C#编写的动态链接库文件(dll),其需要注册后方可被其他软件调用使用。
请注意:
- 需要以管理员权限运行“JQSM2SM4注册COM.bat”脚本完成DLL的注册过程。
- 注册成功后的DLL可以提供给第三方应用,例如Delphi等环境进行集成和利用。