我正在尝试使用nCipher(Thales HSM)对程序包进行加密和签名,但是当我尝试执行此操作时,会出现一个异常,指出“插槽中没有卡”。根据HSM管理员的说法,有一张卡,但是它不在默认插槽中,因此一种选择是更改默认插槽,但是我该怎么办呢?或者我该如何解决原始异常?
以下是引发异常的代码:
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA", "nCipherKM");
kpg.initialize(2048);
KeyPair kp = kpg.generateKeyPair();
Signature signer = Signature.getInstance("SHA256withRSA","nCipherKM");
signer.initSign(kp.getPrivate());
signer.update(plainText);
return new String(signer.sign(),UTF_8);