59

PEM_read_bio_PrivateKey()NULL如果私钥在 ECB 模式下由 DES EDE 加密,则返回。问题发生在EVP_DecryptFinal_ex()

4128:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:330:

如果使用 DES EDE 在 CBC 模式下对相同的私钥进行加密,则该功能可以正常工作。

我检查过,这个问题在 openssl 0.9.8r/y 版本(没有 FIPS)上是可重现的。如果 openssl 是使用 FIPS 构建的,则不会发生此问题。

是什么导致了这种行为?

谢谢!

4

1 回答 1

1

查看 OpenSSL 源,只有在加密数据中的填充无效时才会发生这种情况。不同的键是否会发生这种情况,您可以提供一个示例吗?而且,使用什么工具来生成这样的密钥(即相同的 OpenSSL 与否)?可能,它省略了填充/或写入零填充而不是正确的填充。

于 2013-10-26T14:59:17.157 回答