首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >提供程序真的需要windows吗?

提供程序真的需要windows吗?
EN

Stack Overflow用户
提问于 2012-05-06 19:07:34
回答 3查看 2.1K关注 0票数 4

我在这里读到:

“与大多数(JCA)提供程序不同,Sun PKCS#11提供程序不直接实现加密功能;它依赖于本机PKCS#11实现将所有操作转发到该实现。此实现必须可作为PKCS#11中的.dll文件或UNIX和Linux中的.so文件使用。例如,如果您在Windows中使用Utimaco SafeGuard Smartcard提供程序,PKCS#11实现就是库pkcs201n.dll。”

智能卡提供商必须拥有jca提供商吗?例如,在哪里可以找到gemalto的jca提供者?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-07 16:57:25

PKCS#11参考指南是一个很好的起点。

Gemalto智能卡总是附带一个PKCS#11 DLL,不幸的是它有不同的名称取决于卡。只需查看安装时附带的文件,直到找到包含"p“和"11”的DLL :)

找到它之后,您可以按照参考指南中给出的步骤创建指向PKCS#11库等的配置文件。如果一切顺利,您应该能够访问智能卡,如

代码语言:javascript
运行
复制
KeyStore ks = KeyStore.getInstance("PKCS11");
ks.load(null, "pin".toCharArray());

请注意,对于生产代码,您应该按照指南中所概述的那样实现一个适当的CallbackHandler --上面的内容只是为了快速检查一切是否正常。

票数 5
EN

Stack Overflow用户

发布于 2012-05-06 22:21:59

智能卡提供商必须拥有jca提供商吗?例如,在哪里可以找到gemalto的jca提供者?

不,当然不是,这完全取决于合同中的内容。您很可能会得到一个与PKCS#11兼容的库(功能或多或少取决于提供者/卡)。它很可能但可能没有完全测试,这是兼容的PKCS#11提供者,这是有点挑剔的事情是如何配置。实际的JCA提供程序的交付是非常罕见的,如果您能够得到一个实际工作的JCA提供者,那么您将是幸运的。

编辑

关于标题中的不同问题:只有Sun PKCS#11提供程序要求您配置.dll。另一些则可能需要一个,这取决于具体的实现。如果提供程序依赖于OS支持(例如,CAPI提供程序使用Windows功能),那么它可能需要库路径上某个地方的不可配置的.dll.so。Bouny城堡和其他纯Java提供程序通常不需要任何.dll.so

联系Gemalto,看看他们是否有JCA提供者,他们应该知道。

票数 4
EN

Stack Overflow用户

发布于 2012-05-07 03:53:32

您所指的PKCS#11 DLL是能够使用PKCS#11 API的应用程序与特定的加密硬件实现之间的接口。由于每个加密硬件是不同的,它需要自己的PKCS#11 DLL。因此,如果应用程序设计为通过PKCS#11与加密硬件通信,则必须调用供应商提供的DLL。所以,这并不是因为Java没有PKCS#11的本机实现,而是PKCS#11是如何被设计用来使用的。

我不认为任何硬件供应商都有义务提供JCA模块,而且afaik中的许多(如果不是大多数)只提供PKCS#11驱动程序和CryptoAPI模块(CSP)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10473367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档