智能卡eToken PRO CardOS / M4数字签名APDU

时间:2013-07-23 13:48:06

标签: signature smartcard apdu e-token

我从eToken SDK获得了一个生成RSA密钥的示例,创建了数字签名并对其进行了验证。 样本中的算法如下:

  • 生成RSA密钥(GENERATE_KEY_PAIR);
  • 创建签名安全环境(PUT_DATA_SECI);
  • 恢复安全环境(MSE RESTORE);
  • 签署数据(PSO_CDS);
  • 创建验证安全环境(PUT_DATA_SECI);
  • 恢复安全环境(MSE RESTORE);
  • 验证签名(PDO_VDS)。

我已经将带有证书的外部密钥容器导入令牌,我需要摆脱算法中的RSA密钥生成项。 如何找到我的私钥的对象ID以将其传递给PUT_DATA_SECI APDU命令?

1 个答案:

答案 0 :(得分:0)

存储在令牌上的私有RSA是RSA_PURE(0x0c)。它不能用于PSO_CDS操作。他们必须正确填充哈希值(rfc-2313:块类型1 +哈希OID)并使用PSO_DEC来获取签名。结果将是与PSO_CDS相同的二进制数据。