0

我想使用 Java 8/11 在 macOS Monterey (12.0.1) 上访问 PC/SC 阅读器 (Reiner SCT)。(javax.smartcardio已经在J​​ava 11中工作)。使用两个 Java 版本,

TerminalFactory factory = TerminalFactory.getDefault();
List<CardTerminal> terminals = factory.terminals().list();

返回一个空的读者列表。我已经为 OS X Big Sur发现了类似的问题。因此,我试图以参数作为 CLI 参数来启动我的应用程序

-Dsun.security.smartcardio.library="/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC"

也可以通过运行时代码

System.setProperty("sun.security.smadtcardio.library", "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC");

- 但列表保持为空。

/System/Library/Frameworks/PCSC.framework/Versions/Current/当我在我的 mac 上列出文件夹的内容时,macOS PCSCMonterey 上没有(只有Resources和)。因此,我认为缺少一些东西。XPCServices_CodeSignature

所以问题是,我需要做什么才能javax.smartcardio在 macOS Monterey 上工作。

4

1 回答 1

0

选项System.setProperty适合我。

在我的案例中,唯一的问题是,属性名称中有错字。正确的属性名称是sun.security.smartcardio.library

于 2022-01-02T08:54:31.863 回答