首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >APDU:计算签名时“未满足使用条件”(69 85)

APDU:计算签名时“未满足使用条件”(69 85)
EN

Stack Overflow用户
提问于 2014-09-09 17:27:15
回答 1查看 2.9K关注 0票数 0

使用智能卡Gemalto (IAS ECC),我将使用存储在智能卡上的私钥来计算签名。为此,我使用APDU命令:

代码语言:javascript
复制
// Verify PIN
00 20 00 01 04 31 32 33 34
-> 90 00

// Create a context for security operation
00 22 41 B6 06 84 01 84 80 01 12
-> 90 00

// Set the hash of the document
00 2A 90 A0 14 HASH OF DOCUMENT
-> 69 85

// Calculating the signature
00 2A 9E 9A 80
-> 69 85

我的问题如下: las的两个命令返回错误代码"69 85",意思是“使用条件不满足”。

我已经尝试了几种解决方案,但总是得到相同的错误。如何解决?这段代码意味着什么?

经过一些测试,我发现了一些有趣的事情。当我将cla "00“替换为"10”时,智能卡返回不同的响应:

代码语言:javascript
复制
// Create a context for security operation
00 22 41 B6 06 84 01 84 80 01 12

// Verify PIN
00 20 00 01 04 31 32 33 34

// Calculating the signature (I replace "00" by "10")
10 2A 9E 9A 23 30 21 30 09 06 05 2B 0E 03 02 1A 05 00 04 14 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 12 13 14 15

我不知道这是否是好的解决方案,因为智能卡返回"90 00“。但是,它会返回我签名的内容!

谢谢你的帮助!

诚挚的问候

EN

回答 1

Stack Overflow用户

发布于 2018-05-10 20:24:24

您将获得SW 6985

代码语言:javascript
复制
// Set the hash of the document
00 2A 90 A0 14 HASH OF DOCUMENT
-> 69 85

因为您没有在当前安全环境中设置正确上下文。

让我在下面解释一下。

首先,您执行了VERIFY PIN命令,该命令成功

代码语言:javascript
复制
// Verify PIN
00 20 00 01 04 31 32 33 34
-> 90 00

然后你执行了MSE SET命令,在这里你设置了安全context.For,你必须理解SE是如何工作的(请参考IASECCv1.01的3.5节)。

在个性化时,在card.The内创建安全数据对象的个性化代理在SE(安全环境)中以CRT(控制参考模板)的形式提到对该SDO的引用。

代码语言:javascript
复制
// Create a context for security operation
00 22 41 B6 06 84 01 84 80 01 12
-> 90 00

一般而言,即使SDO引用错误,MSE SET命令也将始终返回SW 900。因为它只在模板错误时返回SW 6A80,而不是在引用错误时返回SW 6A80( SDO引用在标记84中传递)

之后,您执行了PSO散列命令

代码语言:javascript
复制
// Set the hash of the document
00 2A 90 A0 14 HASH OF DOCUMENT
-> 69 85

当卡片返回SW 6985(使用条件不满足)时,这表明用于计算Hash的算法和SDO参考可能是错误的。这可能是因为在MSE设置命令期间发送的SDO引用不可用

检测来自MSE集合的错误可能很棘手,因为它返回SW 9000。对于这些类型的情况,您必须仔细检查个性化文件,并需要在SDO引用和支持的ALGO方面匹配MSE SET命令。

将默认上下文(例如,密码算法或安全操作)放入当前SE中以便具有很少的MSE设置命令的交换可能是有用的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25741092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档