हेई, प्रश्न वास्तव में एनक्रिप्टोकी के बारे में नहीं है लेकिन मुझे कहीं और पूछने के लिए नहीं पता था .. इसलिए अगर कोई मेरी मदद कर सकता है तो कृपया मेरी मदद करें।पीकेसीएस # 11 एईएस कुंजी उत्पन्न करें
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);
लेकिन यह मुझे एक त्रुटि देता है: इम एईएस कुंजी और यहाँ कोड क्या मैं अभी उत्पन्न करने के लिए tryng
C_GenerateKey rv=0x62 - key size range
किसी को भी मुझे कुछ विचार जहां यहां से लिए जाने के लिए दे सकते हैं इसे हल करें ..
संपादित करें: बस जानकारी के लिए - मेरे पास सुरक्षितनेट एचएसएम है और मैं जावा पीकेसीएस # 11 रैपर का उपयोग कर रहा हूं जिसे jprov
सुरक्षितनेट सुरक्षा टुलकिट के साथ आता है।
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");
}
}
आशा इस कोई मदद करता है
@ this.josh, CKA.VALUE_LEN को बदलने से कुछ भी नहीं बदला। अभी भी एक ही त्रुटि हो रही है। –
क्या 'सीकेए.VALUE_LEN' बिट्स या बाइट्स में होना चाहिए? – AviD