当天我多次要求 Sun 将 javax.smartcardio 包含在文档中,但他们一直拒绝。现在看来,Windows 的 64 位 Java 版本 6/7 没有 javax.smartcardio,并且访问规则排除了直接使用它。这很奇怪,因为 javax.smartcardio 似乎是公认的 JSR。
Sun 和 Oracle 在安全 API 方面并没有很好地沟通。它们的设计相对较好,但缺乏支持,而且它们确实突然引入了一些功能。
[编辑]
尽管该javax.smartcardio
包是公认的 JSR,但 Java 6 和 7 SE 的伞形 JSR 不包括它。有关更多信息,请参见java_se-fr-spec.zip(见下文)。所以javacardx.smartcardio
它不是Java SE 标准 API 的一部分。现在,即使API 存在,您也可能无法访问它。而且您不能添加自己的,因为它可能存在于特定版本中。您可以使用 Eclipse 访问规则来启用javax.smartcardio
和删除“问题视图”中的访问冲突。
Oracle 的 Java 8 确实包含一个javax.smartcardio
实现。您可能仍然需要配置对它的访问。
JSR 268(Java Smart-Card I/O API)将不包括在内,因为 JSR 270 专家组认为 Java SE 6 的时间框架不会引起足够广泛的兴趣。