我如何模拟 Java 中的硬件安全模块 (HSM) 以提供安全性?

How can I mock a hardware secure module (HSM) in Java for a security provide?

在我们的项目中,我们使用的是 openID 连接实现。该实现负责创建和签署 JWT。他们为此使用了 nimbus-jose-jwt 库。

我想测试一下我们是否将 HSM 添加为安全提供程序,它是否会被 openId 连接实现使用。我没有用于测试目的的带有 HSM 的机器,因此我需要模拟此行为。

我是否必须像 HowToImplAProvider 那样实现 Provider(或使用执行此操作的库),或者是否有快捷方式可以让一些行为类似于 Provider 的东西仅用于测试目的?

我使用了 Windows 构建的 SoftHSM2(可以找到 here) and then used this 将其添加到我的项目中。