Decrypt CryptoAPI SIMPLEBLOB in Java

Decrypt CryptoAPI SIMPLEBLOB in Java

本文关键字:Java in SIMPLEBLOB CryptoAPI Decrypt      更新时间:2023-10-16

这是我的流程:

CryptoAPI:

  1. 生成AES会话密钥
  2. 使用收件人的公钥在SIMPLEBLOB中加密和导出(1)使用RSA
  3. 将SIMPLEBLOB发送给收件人

Java:

  1. 收件人收到(3)
  2. 收件人希望使用其私钥解密SIMPLEBLOB

我相信这是相当标准的。需要对接收到的字节数组进行字节反转(从上面的步骤4开始)。然而,由于某种原因,接收到的字节数高于RSA算法可以解密的最大允许字节数。错误为"javax.crypto.IollegalBlockSizeException:数据不得长于256字节"。所以还有一些事情我不明白。有人能解释一下如何在Java中正确解密SIMPLEBLOB吗?资源会有所帮助。

看看这个页面:SIMPLEBLOB结构blob的前12个字节属于BLOBHEADER。要解密密钥,请从加密blob的第12个位置开始。