javax.smartcardio 在 macOS Monterey 上找不到 PCSC 阅读器
javax.smartcardio on macOS Monterey does not find PCSC readers
我想使用 Java 8/11 在 macOS Monterey (12.0.1) 上访问 PC/SC Reader (Reiner SCT) . (javax.smartcardio
已经适用于 Java 11)。同时使用 Java 版本,
TerminalFactory factory = TerminalFactory.getDefault();
List<CardTerminal> terminals = factory.terminals().list();
returns 一个空的读者列表。我发现了一个类似的issue already for 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");
-- 但列表仍为空。
当我在 mac 上列出文件夹 /System/Library/Frameworks/PCSC.framework/Versions/Current/
的内容时,macOS Monterey 上没有 PCSC
(只有 Resources
、XPCServices
和 _CodeSignature
)。因此,我假设缺少某些东西。
所以问题是,我需要做什么才能让 javax.smartcardio
在 macOS 蒙特雷工作。
带 System.setProperty
的选项适合我。
我的唯一问题是 属性 名称中有错字。正确的 属性 名称是 sun.security.smartcardio.library
我想使用 Java 8/11 在 macOS Monterey (12.0.1) 上访问 PC/SC Reader (Reiner SCT) . (javax.smartcardio
已经适用于 Java 11)。同时使用 Java 版本,
TerminalFactory factory = TerminalFactory.getDefault();
List<CardTerminal> terminals = factory.terminals().list();
returns 一个空的读者列表。我发现了一个类似的issue already for 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");
-- 但列表仍为空。
当我在 mac 上列出文件夹 /System/Library/Frameworks/PCSC.framework/Versions/Current/
的内容时,macOS Monterey 上没有 PCSC
(只有 Resources
、XPCServices
和 _CodeSignature
)。因此,我假设缺少某些东西。
所以问题是,我需要做什么才能让 javax.smartcardio
在 macOS 蒙特雷工作。
带 System.setProperty
的选项适合我。
我的唯一问题是 属性 名称中有错字。正确的 属性 名称是 sun.security.smartcardio.library