为什么我不能选择MF?

时间:2014-11-24 07:38:38

标签: smartcard javacard jcop

我有一张JCOP卡(CJ3A080)。这是 OpenSC-Tool list files命令的输出:

C:\>opensc-tool -a -c jcop -f -v
Using reader with a card: ACS CCID USB Reader 0
Connecting to card in reader ACS CCID USB Reader 0...
Using card driver JCOP cards with BlueZ PKCS#15 applet.
Card ATR:
3B F8 13 00 00 81 31 FE 45 4A 43 4F 50 76 32 34 ;.....1.EJCOPv24
31 B7                                           1.
3f00 type: DF, size: 0
select[NONE] lock[NEVR] delete[NEVR] create[NEVR] rehab[N/A] inval[N/A] list[NON
E]

  3f002f00 type: wEF, ef structure: transparent, size: 128
  read[NONE] update[NEVR] erase[NEVR] write[NEVR] rehab[N/A] inval[N/A]

00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

C:\>

问题1:这些零字节是什么?是EEPROM吗?如果是这样,为什么它只是128字节(虽然我的卡有一个80KB的EEPROM)?

问题2:以下行中元素的含义是什么?

select[NONE] lock[NEVR] delete[NEVR] create[NEVR] rehab[N/A] inval[N/A] list[NON
E]

问题2:据我从输出中了解,必须有一个DF 3F00作为其AID,对吗?那么为什么我不能选择呢?

C:\>opensc-tool -s 00a40400023f00
Using reader with a card: ACS CCID USB Reader 0
Sending: 00 A4 04 00 02 3F 00
Received (SW1=0x6A, SW2=0x82)

C:\>

请注意,我认为这是一张非融合卡(非个性化) - >看Here

更新1:

我使用相同的上述命令测试了一些其他不同的卡(甚至是一些存储卡)。输出与输出相同,只是ATR改变了!这个输出正确可靠吗?

更新2:

当我列出已安装的驱动程序时,输出结果为:

C:\>opensc-tool -D
Configured card drivers:
  cardos           Siemens CardOS
  flex             Schlumberger Multiflex/Cryptoflex
  cyberflex        Schlumberger Cyberflex
  gpk              Gemplus GPK
  gemsafeV1        driver for the Gemplus GemSAFE V1 applet
  miocos           MioCOS 1.1
  mcrd             MICARDO 2.1 / EstEID 1.0 - 3.0
  asepcos          Athena ASEPCOS
  starcos          STARCOS SPK 2.3/2.4
  tcos             TCOS 3.0
  openpgp          OpenPGP card
  jcop             JCOP cards with BlueZ PKCS#15 applet
  oberthur         Oberthur AuthentIC.v2/CosmopolIC.v4
  authentic        Oberthur AuthentIC v3.1
  iasecc           IAS-ECC
  belpic           Belpic cards
  ias              IAS
  incrypto34       Incard Incripto34
  acos5            ACS ACOS5 card
  akis             TUBITAK UEKAE AKIS
  entersafe        entersafe
  epass2003        epass2003
  rutoken          Rutoken driver
  rutoken_ecp      Rutoken ECP driver
  westcos          WESTCOS compatible cards
  myeid            MyEID cards with PKCS#15 applet
  sc-hsm           SmartCard-HSM
  setcos           Setec cards
  muscle           MuscleApplet
  atrust-acos      A-Trust ACOS cards
  piv              PIV-II  for multiple cards
  itacns           Italian CNS
  javacard         JavaCard (without supported applet)
  default          Default driver for unknown cards

C:\>

我的卡是JCOP卡。我可以在上面的列表中看到JCOP。但是,当我使用-n参数时,它会响应不支持的卡!

C:\>opensc-tool -n
Using reader with a card: ACS CCID USB Reader 0
Unsupported card

2 个答案:

答案 0 :(得分:1)

OpenSC

可能不支持此卡

检查SupportedHardware列表。使用opensc-tool --name验证它,看看某个驱动程序是否知道如何处理您的卡。

该命令的预期结果是具有卡驱动程序名称的行。

答案 1 :(得分:0)

你有这样一句话:

force_card_driver = jcop;
配置文件中的

(opensc.conf)?