Я последовал примеру: https://pkcs11interop.net/doc/_high_level_a_p_i_2_24__wrap_and_unwrap_key_test_8cs-example.html
, чтобы обернуть симметричные ключи с помощью клавиш rsa, и это сработало.
То, чего я пытаюсь добиться, - это обернуть асимметричный ключ (rsa privateключ) вместо.Все, что я сделал, это заменил переменную secretKey на ObjectHandle закрытого ключа.Однако я получаю CKR_GENERAL_ERROR каждый раз, когда вызываю функцию Wrapkey.
Может кто-нибудь объяснить, почему это не сработает?Я не смог найти в спецификациях ничего, что препятствует переносу асимметричных ключей.
Закрытый ключ был создан со следующими атрибутами:
List<ObjectAttribute> privateKeyAttributes = new List<ObjectAttribute>();
privateKeyAttributes.Add(new ObjectAttribute(CKA.CKA_TOKEN, true));
privateKeyAttributes.Add(new ObjectAttribute(CKA.CKA_PRIVATE, true));
privateKeyAttributes.Add(new ObjectAttribute(CKA.CKA_ID, ConvertUtils.HexStringToBytes(id)));
privateKeyAttributes.Add(new ObjectAttribute(CKA.CKA_SENSITIVE, false));
privateKeyAttributes.Add(new ObjectAttribute(CKA.CKA_DECRYPT, true));
privateKeyAttributes.Add(new ObjectAttribute(CKA.CKA_SIGN, true));
privateKeyAttributes.Add(new ObjectAttribute(CKA.CKA_SIGN_RECOVER, true));
privateKeyAttributes.Add(new ObjectAttribute(CKA.CKA_EXTRACTABLE, true));
С уважением,