本产品为国密算法实现库,包含SM4加密解密和SM2数字签名验证功能,以COM组件与DLL形式提供,便于Windows环境下各类应用集成使用。
提供给第三方软件调用COM组件DLL的方式实现,适用于Delphi、PowerBuilder(PB)等开发环境,并且与黑龙江省医保社保卡的调用方式一致。各软件的具体调用方法可以自行在网上查询,例如“Delphi 调用 C# 的 COM 组件 DLL”。基于C#编写的COM组件DLL,可用于SM2签名验签和SM4加解密功能,在黑龙江省国家医保接口中应用时能够无缝对接。
具体信息如下:
1. **调用的DLL名称**:JQSM2SM4.dll
- 加解密类名:JQSM2SM4.SM2SM4Util
- CLSID: 5B38DCB3-038C-4992-9FA3-1D697474FC70
2. **GetSM2SM4函数说明**
函数原型:
```csharp
public string GetSM2SM4(string smType, string sM2Prikey, string sM4Key, string sInput)
```
- 参数一 `smType`:用于识别功能,填写固定字符串。具体为“SM2Sign”(实现 SM2 签名)、 “SM4DecryptECB”(实现 SM4 解密)或 “SM4EncryptECB” (实现 SM4 加密)
- 参数二 `sM2Prikey`:用于指定SM2私钥
- 参数三 `sM4Key`:用于指定SM4加密使用的密钥
- 参数四 `sInput`:
当 `smType=SM2Sign`, 则填写待签名的字符串
当 `smType=SM4DecryptECB`, 则是需要解密的数据串
当 `smType=SM4EncryptECB`, 则是明文数据
- 函数返回值:根据`smType`参数的不同,分别返回 SM2 签名信息、SM4 解密后的原文或加密后的内容。如果发生异常,则会返回错误描述字符串“加解密异常:详细错误说明”。
3. **使用注意事项**:
1)该组件基于.NET框架4.0编写,在常规的Windows7和 Windows10系统中一般不需要额外安装,但XP系统需要先进行 .NET Framework 4.0 的安装。
2) C# 编写的DLL文件在调用前必须注册。解压后将dll放置到所需位置,并使用管理员权限运行“JQSM2SM4注册COM.bat”来完成注册步骤,之后即可供Delphi、PB等第三方软件进行调用了。
以上是关于该组件的基本介绍和操作说明,请根据实际情况进行配置与测试。