我有一个SafeNet HSM上的证书,我可以浏览HSM插槽并查看证书。但是,当我尝试用java密钥工具加载证书时,我会得到一条消息:“您的密钥库包含0项”。下面是我如何连接到HSM的解释。
这是我的safenet配置文件
name = SafeNetCA
library = D:/cryptoki.dll
slot = 1这是我的java.security文件,我在这里添加了SunPKCS11提供程序
security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=sun.security.ec.SunEC
security.provider.4=com.sun.net.ssl.internal.ssl.Provider
security.provider.5=com.sun.crypto.provider.SunJCE
security.provider.6=sun.security.jgss.SunProvider
security.provider.7=com.sun.security.sasl.Provider
security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.9=sun.security.smartcardio.SunPCSC
security.provider.10=sun.security.mscapi.SunMSCAPI
security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider
security.provider.11=sun.security.pkcs11.SunPKCS11 C:/ocsp/safenet-provider.cfg下面是我在java keytool上执行的命令
keytool -keystore NONE -storetype PKCS11 -list然后询问HSM密码,我输入正确。最后,这里是

发布于 2022-02-23 14:20:51
回答可能有点晚了。但是在需要的时候找到这些信息总是很好的。
首先,使用hsm供应商提供的命令行工具.在这种情况下,泰勒斯/安全网。
您可以找到文档这里。你需要选择你正在使用的HSM,软件和固件的版本。
对令牌的访问要求客户端和hsm已经被握手,并且hsm已经设置为允许访问所述令牌。
在用户文档的实用程序部分,您将找到一个名为证书管理实用程序()的工具。这个工具可以用来查看HSM分区/槽中有哪些对象。请记住,在客户端安装期间,这个工具可能不会安装在您的系统上-因此您可能需要再次运行安装程序。
Linux示例,要检查在分区/槽中有哪些对象,可以输入(在客户机上):
$> /usr/safenet/lunaclient/bin/cmu list
Select token
[0] Token Label: myverysecrets
Enter choice:0 (Enter the slot number here)
Please enter password for token in slot 0 : ***************
handle=40 label=MySecretKey
handle=39 label=AnotherSecretKeycmu实用程序还可以用于提取作为对象存储的公钥和证书。
https://stackoverflow.com/questions/46387195
复制相似问题