Java I';我得到了';CKR包装的密钥无效';展开时出错。如何将AES密钥作为DES2密钥展开?

Java I';我得到了';CKR包装的密钥无效';展开时出错。如何将AES密钥作为DES2密钥展开?,java,cryptography,aes,pkcs#11,des,Java,Cryptography,Aes,Pkcs#11,Des,首先,我通过AES/CBC算法使用另一个AES密钥包装了一个AES密钥。然后,我尝试使用AES/CBC算法,通过将密钥类型传递为DES2,将AES密钥解包为DES2密钥。但在拆开包装时,我发现 CKR\u WRAPPED\u KEY\u无效错误 复制步骤: 创建2个AES密钥。让我们将第一个键称为“要包装的键”,将第二个键称为“包装键” 使用第二个密钥和AES/CBC算法通过任何API或其他东西包装第一个密钥 然后您将获得包装的密钥作为输出 现在使用第二个密钥(包装密钥)和AES/CBC算法打开

首先,我通过AES/CBC算法使用另一个AES密钥包装了一个AES密钥。然后,我尝试使用AES/CBC算法,通过将密钥类型传递为DES2,将AES密钥解包为DES2密钥。但在拆开包装时,我发现
CKR\u WRAPPED\u KEY\u无效
错误

复制步骤:

  • 创建2个AES密钥。让我们将第一个键称为“要包装的键”,将第二个键称为“包装键”
  • 使用第二个密钥和AES/CBC算法通过任何API或其他东西包装第一个密钥
  • 然后您将获得包装的密钥作为输出
  • 现在使用第二个密钥(包装密钥)和AES/CBC算法打开包装密钥(即输出)
  • 展开时,需要输入密钥类型
  • 给出密钥类型为DES2
  • 您将得到
    CKR\u WRAPPED\u KEY\u INVALID
    错误 请帮我解决这个问题


    注意:如果我使用TDES/ECB算法执行相同的步骤,我不会得到任何错误。它工作正常。

    可能是DES平价造成的。手动设置奇偶校验或使用使用
    KeyGenerator
    创建的3DES密钥的前16个字节作为AES密钥的输入


    DES的奇偶校验由每个字节的最低有效位决定。在应用奇偶校验后,每个字节都应设置奇数位数(设置为1)。

    当包装前AES密钥的值具有奇数奇偶校验时,您尝试的操作是否开始工作,如61F11A07D6026D4C4F6DC4CD018CD94A?如果是这样的话,这就证实了马丁-恢复莫妮卡的身份。