APDU 在数据标志上响应“6985:不满足使用条件”

问题描述 投票:0回答:0

我需要使用智能卡签署一些数据,为此我使用以下 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

任何人都可以帮助解决这个问题吗?

谢谢

javascript certificate digital-signature smartcard apdu
© www.soinside.com 2019 - 2024. All rights reserved.