首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有一种方法以编程方式将实例的Keystore PKCS11转换为JKS?

是否有一种方法以编程方式将实例的Keystore PKCS11转换为JKS?
EN

Stack Overflow用户
提问于 2015-03-04 08:53:13
回答 1查看 940关注 0票数 2

我正在使用智能卡,密钥存储实例是PKCS11格式的。我想用智能卡上的证书创建一个.jks文件。有没有办法以编程的方式实现它?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-08-01 05:07:50

如果硬件令牌制造商支持它,如果您已经将您的对象创建为可提取的,则可以这样做(但是,是不可取的)。

警告:您要做的是而不是安全。您正在删除硬件令牌的目的。一旦在硬件令牌中创建了一个秘密对象,它就看不到光明了。

要使PKCS11对象可提取,必须将CKA_EXTRACTABLE设置为true,将CKA_NEVER_EXTRACTABLE设置为false,将CKA_SENSITIVE设置为false,将CKA_ALWAYS_SENSITIVE设置为false

大多数硬件令牌制造商不支持这一点。假设您已经找到了一个支持此功能的供应商,并且您已经创建了具有上述属性的PKCS11对象,那么您可以这样做。

您可以通过调用PKCS11 KeyStore实例条目循环遍历aliases(),并找到其中的每个条目。它可以是KeyPair (PublicKey和PrivateKey),也可以是证书或数据对象(如果是PIV SmartCard令牌)。您可以使用JKS KeyStore的另一个实例,现在可以执行jksKS.setEntry(...)jksKS.setCertificateEntry(...)

如果令牌不支持创建非敏感数据,那么首先您将无法创建具有上述属性的PKCS11对象。如果令牌不支持提取,则PKCS11令牌将抛出异常,说明无法提取敏感数据。

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

https://stackoverflow.com/questions/28850132

复制
相关文章

相似问题

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