【发布时间】:2013-07-23 13:48:06
【问题描述】:
我有一个来自 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 命令?
【问题讨论】:
-
虽然我知道 CardOS,但我并不熟悉 Aladdin 中间件。有机会可以从 PKCS15 信息文件中读取密钥 ID。如果不是,那么至少应在此处说明所需安全环境的 ID。因此,虽然在后一种情况下您不知道密钥 ID,但您可以简单地恢复现有的安全环境。
-
是的,我发现,安全环境是在选择私钥文件时设置的。 PKCS#11 私钥索引文件 (0x3XXX) 还包含可以绑定到公钥的容器 UID。
标签: signature smartcard apdu e-token