全球平台 Java 卡安全通道示例

Global Platform Java Card Secure Channel Example

我挣扎了很久。我需要创建从桌面应用程序到 JavaCard 的安全通道。我找到了 GlobalPlatform http://www.win.tue.nl/pinpasjc/docs/apis/gp22/,但无法正常工作。当我有一个安全通道(使用它)但努力创建它时,我知道如何反应。我知道我应该在我的桌面应用程序上创建密钥然后以某种方式发送 InitUpdate APDU,然后创建 ExtAuth APDU 然后它应该工作?我知道我迷路了,所以如果有人有一些例子或其他东西,我会很高兴!

(假设你要实现通信的客户端)

用于建立安全通道的 SCP 协议在 GlobalPlatform 卡规范 中有精确定义, 可用 here,特别是:

  • SCP01 / SCP02 / SCP10 GlobalPlatform 卡规范 v2.3(附录 D、E、F)

  • SCP03 in Card Technology Secure Channel Protocol '03' Card Specification v2.2 – Amendment D V1.1.1

您可以查看 GlobalPlatformPro (java) or GPShell (C) 以获取一些源代码。

祝你好运!


PS:您在 post 中提到的 org.globalplatform API 用于卡内,并允许 javacard 小程序使用存储在 SD 中的密钥以确保安全 communication/authentication.