使用中间件访问Java智能卡

5
我正在将一个旧项目迁移到Java,但在智能卡访问方面遇到了一些问题。由于缺乏文档,我不得不自己摸索,希望您能帮助我。
我有一个智能卡和一个用于访问卡功能的dll库(中间件)。使用依赖项查找器,我成功获取了该dll库所持有的函数列表,该列表总结为Microsoft Smart Card Api函数。我想知道是否有本地包装器可以使我从Java调用这些函数?
关于智能卡的性质,它应该包含密码学函数(PKCS#11),但由于此错误,我无法实例化sun.security.pkcs11.SunPKCS11提供程序:
Caused by: java.io.IOException: The specified procedure could not be found.
     at sun.security.pkcs11.wrapper.PKCS11.connect(Native Method)

任何指南将不胜感激。
提前致谢。
更新:
对于任何遇到此问题的人,事实证明我的智能卡不支持PKCS11,我没有适当的PKCS11 dll。

正如你现在可能已经发现的那样,微软使用的加密库API与PKCS#11不同。 - Maarten Bodewes
是的,那确实是一个令人不快的惊醒 :) 但这个问题仍然没有得到解决。 - Slobodan
你有没有查看MSCAPI提供程序来确定它是否适用?抱歉,我只是在浏览过去的记录... - Maarten Bodewes
是的,当dll库(minidriver)正确编程时,MSCAPI提供程序适用。经过一些努力后,我发现minidriver工作不正常,所以我唯一能使用它的方法是直接调用WIN CAPI,让我编写一些c++代码并将其桥接到java。 - Slobodan
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接