Encryption 为什么iaik包装器找不到密钥对?

Encryption 为什么iaik包装器找不到密钥对?,encryption,pkcs#11,softhsm,Encryption,Pkcs#11,Softhsm,我使用softhsm作为pkcs11提供商,我的平台是ubuntu 64 我想使用softhsm进行加密,因此我将一个密钥导入插槽0,它告诉我该密钥已导入,当我尝试导入另一个具有该ID的密钥时,它表示该ID已被使用,因此提供商已导入该密钥。但是当我试图通过代码查找密钥时,包装器找不到任何密钥。我的代码有问题吗?或者什么 Module pkcs11Module = Module.getInstance("libsofthsm.so"); pkcs11Module.initialize(null

我使用
softhsm
作为pkcs11提供商,我的平台是ubuntu 64

我想使用
softhsm
进行加密,因此我将一个密钥导入插槽0,它告诉我该密钥已导入,当我尝试导入另一个具有该ID的密钥时,它表示该ID已被使用,因此提供商已导入该密钥。但是当我试图通过代码查找密钥时,包装器找不到任何密钥。我的代码有问题吗?或者什么

Module pkcs11Module = Module.getInstance("libsofthsm.so");
pkcs11Module.initialize(null  );
Info info = pkcs11Module.getInfo();
System.out.println(info);
Slot[] slotsWithToken = pkcs11Module.getSlotList(Module.SlotRequirement.TOKEN_PRESENT);
Token token = slotsWithToken[0].getToken();
Session session = token.openSession(Token.SessionType.SERIAL_SESSION,
                                                Token.SessionReadWriteBehavior.RO_SESSION,
                                                null,
                                                null);
RSAPrivateKey searchTemplate = new RSAPrivateKey();
searchTemplate.getSign().setBooleanValue(Boolean.TRUE);
session.findObjectsInit(searchTemplate);
Object[] matchingKeys;
RSAPrivateKey signatureKey;
if ((matchingKeys = session.findObjects(1)).length > 0) {
    signatureKey = (RSAPrivateKey) matchingKeys[0];
} else {
    signatureKey = null; //It goes here so no key was found.
}

您是否将密钥作为“令牌对象”导入,即
CKA_-token
是否设置为true?@owlstead我没有在任何地方手动将您所说的设置为true,我如何检查?如何将其设置为真?取决于,您是如何导入的?你能用其他工具列出钥匙吗?