gpt4 book ai didi

smartcard - 在javacard中安装applet

转载 作者:行者123 更新时间:2023-12-04 08:08:23 26 4
gpt4 key购买 nike

我通过 Eclipse 制作了一个流行的“Hello World”javacard 代码的 .cap 文件

现在我想通过 GPShell 和 ACR38 智能卡读卡器将它加载到真正的 javacard 中。

问题:我需要任何 key 才能将 .cap 文件加载到卡中吗?我的意思是,我应该在将小程序上传到卡中之前进行身份验证还是不需要?
我认为必须进行身份验证。未经认证就上传.cap 是不合理的。但我不知道,如何进行身份验证。
问题:这有什么问题?

C:\Users\ghasemi>java -jar e:\gpj\gpj.jar -load e:\helloWorld.cap -install
Found terminals: [PC/SC terminal ACS CCID USB Reader 0]
javax.smartcardio.CardException: connect() failed
at sun.security.smartcardio.TerminalImpl.connect(Unknown Source)
at net.sourceforge.gpj.cardservices.GlobalPlatformService.main(Unknown S
ource)
Caused by: sun.security.smartcardio.PCSCException: SCARD_E_SHARING_VIOLATION
at sun.security.smartcardio.PCSC.SCardConnect(Native Method)
at sun.security.smartcardio.CardImpl.<init>(Unknown Source)
... 2 more
Found card in terminal: ACS CCID USB Reader 0
java.lang.NullPointerException
at net.sourceforge.gpj.cardservices.GlobalPlatformService.main(Unknown S
ource)

C:\Users\ghasemi>java -jar e:\gpj\gpj.jar -load e:\helloWorld.cap -install

Found terminals: [PC/SC terminal ACS CCID USB Reader 0]

Found card in terminal: ACS CCID USB Reader 0

ATR: 3B 7F 94 00 00 80 31 80 65 B0 85 02 02 ED 12 0F FF 82 90 00

DEBUG: Command APDU: 00 A4 04 00 07 A0 00 00 01 51 00 00

DEBUG: Response APDU: 6A 82

Failed to select Security Domain GP211 A0 00 00 01 51 00 00 , SW: 6A 82
DEBUG: Command APDU: 00 A4 04 00 08 A0 00 00 00 18 43 4D 00

DEBUG: Response APDU: 6F 65 84 08 A0 00 00 00 18 43 4D 00 A5 59 73 4A 06 07 2A 8
6 48 86 FC 6B 01 60 0C 06 0A 2A 86 48 86 FC 6B 02 02 01 01 63 09 06 07 2A 86 48
86 FC 6B 03 64 0B 06 09 2A 86 48 86 FC 6B 04 01 05 65 0B 06 09 2B 85 10 86 48 64
02 01 03 66 0C 06 0A 2B 06 01 04 01 2A 02 6E 01 02 9F 6E 06 12 91 20 11 02 02 9
F 65 01 FF 90 00

Successfully selected Security Domain GemaltoXpressPro A0 00 00 00 18 43 4D 00
DEBUG: Command APDU: 80 50 00 00 08 17 2A 53 4F AC DF 8D 16

DEBUG: Response APDU: 69 82

javax.smartcardio.CardException: Wrong initialize update, SW: 69 82
at net.sourceforge.gpj.cardservices.GlobalPlatformService.openSecureChan
nel(Unknown Source)
at net.sourceforge.gpj.cardservices.GlobalPlatformService.main(Unknown S
ource)

tnx

最佳答案

响应码 6A 82用于 Security_Status_Not_Satisfied .

关于选择 Security Domain ,此状态字可能由于以下两个原因之一而出现:

  • 任意卡Life Cycle State (CLCS)卡是LOCKEDTERMINATED ,所以不允许选择Security Domain,因为如果CLCS是LOCKED则只能选择具有卡锁权限的安全域和/或应用程序,并且如果 CLCS 是 TERMINATED然后,如果安全域具有最终应用权限,则仅应处理 GET DATA 命令,则应禁用所有其他命令并应返回错误。如果 CLCS 是 LOCKED然后尝试选择具有卡锁定权限的安全域和/或应用程序,并尝试将卡生命周期状态 (CLCS) 移至 SECURED使用 SETSTATUS命令在 SCP session 的帮助下,否则如果 CLCS 是 TERMINATED那么 CLCS 就不能切换回 SECURED,因为这种状态是不可逆的。
  • Security Domain ,您尝试选择的本身在 LOCKED 中状态,在这种情况下,安全域可能会被 OPEN 阻止进一步选择,并返回错误状态字。

  • @CLCS - 卡片生命周期状态。

    很高兴能帮助你。

    关于smartcard - 在javacard中安装applet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23533764/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com