PEM_read_bio_PrivateKey()仅在ECB模式下返回NULL

时间:2013-07-03 15:14:10

标签: encryption openssl private-key pem

如果私钥在ECB模式下由DES EDE加密,则

PEM_read_bio_PrivateKey()返回NULL。问题发生在EVP_DecryptFinal_ex()

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

如果在CBC模式下DES EDE对同一私钥进行加密,则此功能正常。

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

导致此行为的原因是什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

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