解密OpenPGP智能卡小程序的APDU

时间:2015-11-22 14:12:41

标签: rsa pgp java smartcard

我正在使用javax.smartcardio API将数据解密到我的Java应用程序中。我正在使用Yubikey NEO智能卡元素。我设法:

  1. 选择OpenPGP小程序CW=9000
  2. 向小程序CW=9000提供正确的PIN。
  3. 使用Bouncy Castle
  4. 使用匹配证书加密数据

    加密邮件正常(或至少可用)。我使用gpg工具和Yubikey成功破译了它的ASCII装甲版本。

    我无法用Java复制同样的东西。

    • 我的加密数据长度为313字节
    • 我发送两个APDU(Yubikey does not seem以支持扩展的)
    • 结果为CW=6f00

    密钥长度为2048位 - 我尝试将数据截断为256字节,如GPG source code中所述但没有任何成功。

    我正在使用的APDU:

    10 2a 80 86 ca 00 85 ..data.. d1 99 00 (208 bytes)    cw=9000
    00 2a 80 86 70 0f e9 ..data.. 71 85 00 (118 bytes)    cw=6700
    

0 个答案:

没有答案