Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中使用PKCS#11 CKM_AES_KEY_WRAP机制?_Java_Pkcs#11_Jce_Iaik Jce_Sunpkcs11 - Fatal编程技术网

如何在Java中使用PKCS#11 CKM_AES_KEY_WRAP机制?

如何在Java中使用PKCS#11 CKM_AES_KEY_WRAP机制?,java,pkcs#11,jce,iaik-jce,sunpkcs11,Java,Pkcs#11,Jce,Iaik Jce,Sunpkcs11,我正在使用一些PKCS#11令牌,它们坚持使用CKM_AES_KEY_WRAP来解开AES加密密钥。在这些令牌上,CKM\u AES\u CBC和好友不支持展开 因此,在这个系统的另一端,我需要使用通过Java访问的PKCS#11令牌包装一个密钥 似乎不支持CKM\u AES\u KEY\u WRAP,据我所知。有人对在Java中实现这一点有什么建议吗?CKM_AES_KEY_WRAP是一种非常简单的机制,因此您不需要PKCS#11包装库来提供漂亮的常量或枚举成员来使用它 只要您的PKCS#11

我正在使用一些PKCS#11令牌,它们坚持使用
CKM_AES_KEY_WRAP
来解开AES加密密钥。在这些令牌上,
CKM\u AES\u CBC
和好友不支持展开

因此,在这个系统的另一端,我需要使用通过Java访问的PKCS#11令牌包装一个密钥


似乎不支持
CKM\u AES\u KEY\u WRAP
,据我所知。有人对在Java中实现这一点有什么建议吗?

CKM_AES_KEY_WRAP
是一种非常简单的机制,因此您不需要PKCS#11包装库来提供漂亮的常量或枚举成员来使用它

只要您的PKCS#11包装器库允许您将包装机制指定为
ulong
,并将其参数指定为
byte[]
,就可以了。SunPKCS11非常有限,所以我会先尝试使用IAIK

以下代码示例演示了使用.NET包装器的想法:

//获取键的句柄
ObjectHandle wrappingKey=新的ObjectHandle();
ObjectHandle toBeWrappedKey=新的ObjectHandle();
//自己定义机制
ulong CKM_AES_KEY_WRAP=0x00002109;
字节[]CKM_AES_KEY_WRAP_PARAM=新字节[]{0x01、0x02、0x03、0x04、0x05、0x06、0x07、0x08};
机制机制=新机制(CKM_AES_KEY_WRAP,CKM_AES_KEY_WRAP_PARAM);
//包扎
字节[]wrappedKey=session.WrapKey(机制,wrappingKey,toBeWrappedKey);

好主意,我试试看。