问题描述
我目前尝试使用 Luna HSM 进行 ECDSA 签名。到目前为止,这确实有效。
KeyStore ks = KeyStore.getInstance("Luna");
ks.load(null,null);
Key key = ks.getKey("keyAlias",null);
String message = "Sign this!";
byte messageBytes[] = message.getBytes();
Signature sig = Signature.getInstance("SHA256withECDSA","LunaProvider");
sig.initSign((PrivateKey) key);
sig.update(messageBytes);
但现在我想知道是否可以在不从 HSM 中检索私钥的情况下进行密钥签名?我的理解是,从 HSM 中检索私钥与 HSM 的整个想法相矛盾。
如果有人能帮我这个就好了。
非常感谢。
解决方法
你仔细检查了吗?它是返回密钥还是只是处理私钥?然后使用私钥句柄在 HSM 内部进行签名操作?!因此私钥可能不会从 HSM 中出来。