我们在应用程序中使用Pkcs11Interop API使用存储在Thales nShield HSM中的私钥对摘要进行签名。
为了满足DR 场景,我们的数字签名应用程序托管服务器注册为主要 Thales nShield HSM 和 DR(次要)Thales nShield HSM 的 HSM 客户端。此处,两个 Thales nShield HSM 的 IP 地址不同,这是基于安装的安全世界软件将在创建 HSM 连接之前检测到活动 HSM 的假设。
当我们通过关闭主要 Thales nShield HSM 来测试 DR(故障转移)方案时,Pkcs11Interop 出现错误:
方法 C_Initialize 返回 CKR_FUNCTION_FAILED。
我想知道使用 Pkcs11Interop 编写的代码是否应该检查哪个 HSM 处于活动状态,然后向活动 HSM 发送请求,或者服务器上安装的安全世界软件是否应该在打开活动连接之前检查活动 HSM。
请告知我们处理这种情况的正确方向。