我想使用Java8/11访问macOS蒙特雷(12.0.1)上的PC/SC阅读器(Reiner SCT) (javax.smartcardio已经在Java 11中工作)。在两个Java版本中,
TerminalFactory factory = TerminalFactory.getDefault();
List<CardTerminal> terminals = factory.terminals().list();返回读取器的空列表。我发现了一个类似的已经为OS X大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蒙特雷上没有PCSC (只有Resources、XPCServices和_CodeSignature)。所以我想应该少了点什么。
所以问题是,我需要做些什么,让javax.smartcardio在macOS蒙特里发挥作用。
发布于 2022-01-02 08:54:31
System.setProperty的选项适用于我。
在我的例子中唯一的问题是,在属性名中有一个错误。正确的属性名是sun.security.smartcardio.library
https://stackoverflow.com/questions/70531793
复制相似问题