错误:RSA_padding_check_PKCS1_type_1:块类型不是01 ..?

时间:2011-10-05 10:10:27

标签: openssl rsa

您好可以告诉我解密RSA私钥加密消息时出现此错误的原因。

我正在验证Java签名的消息签名并使用openssl 0.9.8g验证签名

1 个答案:

答案 0 :(得分:3)

这通常意味着加密端和解密端使用不同的填充方案。他们需要在双方都是一样的。

如果在Java中使用Bouncy Castle,则可以在密码中指定填充方案(在本例中为PKCS#1填充),如下所示:

Cipher cipher = Cipher.getInstance("RSA/None/PKCS1Padding", "BC");

在openssl中,您可以在encrypt / decrypt命令中指定填充方案:

openssl rsautl -pkcs -decrypt ...

此处,选项“-pkcs”指定PKCS#1填充方案。

希望这有帮助。