首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >encryptData GlobalPlatform

encryptData GlobalPlatform
EN

Stack Overflow用户
提问于 2012-08-27 09:32:41
回答 1查看 1.3K关注 0票数 2

我将一个没有CMAC (CLA字节= 0x80)的APDU发送到applet。我用的是SCP02 i55。我需要用SecureChannel.encryptData()函数加密数据。我不想手动加密它,我需要Global加密数据,在我用正确的会话密钥解密数据之后(我肯定它们是计算良好的)。

我使用以下代码加密APDU缓冲区。

代码语言:javascript
复制
byte buffer = apdu.getBuffer();
buffer[0] = 20;
short lc = chan.encryptData(buffer, (short) 0, (short) 1);
apdu.setOutgoingAndSend((short) 0, lc);

这会引发一个安全状态不满意异常(0x6982),其中我期望使用加密的20响应APDU。

我做错什么了?

EN

回答 1

Stack Overflow用户

发布于 2012-10-03 21:46:46

您忘记包装状态字节。从标准:

applet负责在响应数据的末尾追加预期的状态字节,以便通过安全消息传递来保护它们;

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

https://stackoverflow.com/questions/12139436

复制
相关文章

相似问题

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