3

我正在尝试找到一种方法来从 JAVA 加载存储在 Utimaco HSM CSP 中的 HSM 密钥

到目前为止,我从搜索中获得了可能使用 SunMscApi 提供程序的线索,但是我找不到任何可以指定Utimaco CryptoServer CSP为提供程序的示例?加密上下文?和容器名称TEST_CSP_HSM。我发现的唯一示例是从 Windows-My 密钥库加载证书,但它不存在。

Utimaco CSP 工具

$ cngtool ListKeys

------------------------------------------------------------

Provider          : Utimaco CryptoServer Key Storage Provider
Device            : 3001@127.0.0.1
Group             : CNG
Mode              : Internal Key Storage

------------------------------------------------------------

Index  AlgId        Size   Group            Name                             Spec
---------------------------------------------------------------------------------
1      RSA          2048   CNG              TEST_CSP_HSM                     2
4

1 回答 1

1

MSCAPI 提供程序通过两个选项启用对 Window-Store 的应用程序访问:“Windows-MY”“Windows-ROOT”,请参阅:https ://docs.oracle.com/javase/7/docs/technotes/guides/security/ SunProviders.html#SunMSCAPI

对于Windows-MY,它只能访问 Current-User,不能访问 Local-Machine。因此,解决这个问题的方法是我们尝试将 HSM Utimaco 的证书添加到 Window-Store 的 Current-User 中。

要检查 HSM Utimaco 的证书在哪里:运行 -> mmc -> 文件 -> 添加/删除 SnapIn -> 选择“证书” -> 添加 -> 选择“我的用户帐户”以查看当前用户(选择“计算机帐户”以查看本地计算机) 在此处输入图像描述

要将 HSM Utimaco 的证书添加到 Current-User:

certutil -user -addstore My path-to-cert.cer
certutil -f -csp "Utimaco CryptoServer CSP" -repairstore My "{thumbprint-of-cert}"
于 2020-10-07T15:29:36.500 回答