我需要使用智能卡签署一些数据,为此我使用以下 APDU 命令:
// some code with PIN validation, etc...
await sendAPDUCommand(scContext, cardContext, "002241B60680011284019F");
let signedData = await sendAPDUCommand(scContext, cardContext, "002A9E9A14" + encodedDataToBeSigned + "00");
// some code here ...
这适用于 20 个字符的摘要值。问题是我需要知道 28 个字符的摘要值。
为了实现 28 个字符的条件,对代码做了一些小改动:
// some code with PIN validation, etc...
await sendAPDUCommand(scContext, cardContext, "002241B60680011284019F");
let signedData = await sendAPDUCommand(scContext, cardContext, "002A9E9A1C" + encodedDataToBeSigned + "00");
// some code here ...
为了实现我的目标,我尝试了这个改变:
来自:002A9E9A14 + encodedDataToBeSigned(40 个字符哈希)
to: 002A9E9A1C + encodedDataToBeSigned (56 chars hash)
有了这个改变,APDU 响应从 9000 变为 6985
任何人都可以帮助解决这个问题吗?
谢谢