YtSign函数

YT699

YtSign函数

int YtSign(char *msg,char *OutSign,char* pin,char *InPath );

功能:使用锁对身份及信息进行数字签名

参数1――msg(in);要签名的信息。


参数2――OutSign(out);签名成功后,返回签名后的数据

参数3――pin(in);Pin码,只有Pin码正确才能进行签名

参数4――InPath (in);加密锁所在的设备路径

返回结果--若函数返回0,则表示函数执行成功,OutSign中包含有签名后的数据;若返回其它值, 则表示函数失败,错误原因可以参见错误代码含义。

 

提示:使用设置在锁中的SM2密钥对及设置在锁中的用户身份对信息msg进行签名,返回签名后的数据

签名的流程如下:

1、对信息msg进行SM3国密HASH,得出HS值

2、然后将hash(msg)的结果送入到锁中进行数字签名。

 

3、在锁中先对设置在锁中的用户身份及设置在锁中的公钥进行hash,得出Z值

 

4、然后再在锁中对HS及Z值进行hash,得出E值

 

5,接着,再在锁中使用私钥对E值进行签名,并将签名后的结果返回。

 

提示:YtSign_2函数与YtSign函数不同之处在于前者是使用硬件芯片唯一ID作为签名唯一标志,后者是使用开发商设置在锁中的用户身份作为签名唯一标志