gpt4 book ai didi

cryptography - PKCS#11 生成 AES key

转载 作者:行者123 更新时间:2023-12-04 04:50:28 24 4
gpt4 key购买 nike

嘿,
问题不是真的关于 Ncryptoki,但我不知道还有什么地方可以问..所以如果有人可以帮忙,请帮助我。
我正在尝试生成 AES key ,这是我现在拥有的代码:

CK_MECHANISM keyGenMech = new CK_MECHANISM(CKM.AES_KEY_GEN);

CK_ATTRIBUTE[] template =
{
new CK_ATTRIBUTE(CKA.CLASS, CKO.SECRET_KEY),
new CK_ATTRIBUTE(CKA.TOKEN, CK_BBOOL.TRUE),
new CK_ATTRIBUTE(CKA.SENSITIVE, CK_BBOOL.TRUE),
new CK_ATTRIBUTE(CKA.VALUE_LEN, 32),
new CK_ATTRIBUTE(CKA.KEY_TYPE, CKK.AES),
new CK_ATTRIBUTE(CKA.LABEL, "testAES".getBytes()),
new CK_ATTRIBUTE(CKA.PRIVATE, new CK_BBOOL(bPrivate))
};
CryptokiEx.C_GenerateKey(session, keyGenMech, template, template.length, wrappingKey);

但这给了我一个错误:
C_GenerateKey rv=0x62 - key size range

任何人都可以给我一些想法从这里去解决这个问题..

编辑:仅供引用 - 我有 SafeNet HSM,我使用名为 jprov 的 java PKCS#11 包装器SafeNet ProtectToolkit 附带什么。

最佳答案

我找到了答案,new CK_ATTRIBUTE(CKA.VALUE_LEN, 32), ,那里的 32 必须是 CK_ULONG 值,所以当我这样做时:

LongRef l = new LongRef((long)32);

CK_ATTRIBUTE[] template =
{
new CK_ATTRIBUTE(CKA.CLASS, CKO.SECRET_KEY),
new CK_ATTRIBUTE(CKA.TOKEN, CK_BBOOL.TRUE),
new CK_ATTRIBUTE(CKA.SENSITIVE, CK_BBOOL.TRUE),
new CK_ATTRIBUTE(CKA.VALUE_LEN, l.value),
//new CK_ATTRIBUTE(CKA.VALUE, key),
new CK_ATTRIBUTE(CKA.KEY_TYPE, CKK.AES),
new CK_ATTRIBUTE(CKA.LABEL, "testAES".getBytes()),
new CK_ATTRIBUTE(CKA.PRIVATE, new CK_BBOOL(bPrivate))
};

哪里 LongRef是:
public class LongRef {

public long value;

public LongRef(long l) {
//compiled code
throw new RuntimeException("Compiled Code");
}
}

希望这可以帮助某人。

关于cryptography - PKCS#11 生成 AES key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6661329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com