使用RSA公钥验证签名 - VerifySignWithRsa
函数简介
使用RSA公钥验证数据的签名。
接口名称
VerifySignWithRsa
DLL调用
int VerifySignWithRsa(long instance, string message, string signature, int shaType, int paddingType, string publicCer);
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| instance | 长整数型 | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。 |
| message | 字符串 | 要验证的明文。 |
| signature | 字符串 | 签名数据。 |
| shaType | 整数型 | 哈希类型:0-MD5;1-SHA1;2-SHA256;3-SHA384;4-SHA512;5-SHA3-256;6-SHA3-384;7-SHA3-512。 |
| paddingType | 整数型 | 填充类型:0-Pkcs1;1-Pss。 |
| publicCer | 字符串 | RSA公钥。 |
示例
C++
long instance = CreateCOLAPlugInterFace();
// 先用私钥签名(SHA256 + Pkcs1填充)
long sigPtr = SignWithRsa(instance, "Hello OLA", privateKeyStr, 2, 0);
char* signature = GetStringFromPtr(sigPtr);
// 使用公钥验签(哈希类型和填充类型需与签名时一致)
int ok = VerifySignWithRsa(instance, "Hello OLA", signature, 2, 0, publicKeyStr);
// ok == 1 表示验签通过
FreeStringPtr(sigPtr);
Python
# 待补充
返回值
1 成功,0 失败。
注意事项
- 验证时使用的哈希类型和填充类型必须与签名时一致。
