0
我想在密码加密文件中存储一些数据。该文件应该包含: 1)数据的有效期限 2)数据本身 到期日不一定需要加密,但需要从篡改保护(例如,整个文件可以签名)。有没有办法将密码加密数据和截止日期一起存储?
有没有办法使用OpenSSL使用一些明确定义的加密格式? 我只对在C中编程(最好使用OpenSSL API,例如EVP_ *和朋友)感兴趣,执行进程,脚本,Java,.NET,Python等是不可能的。
P.S. 我对OpenSSL API非常熟悉,但不知何故,我找不到任何好的(至少相对'干净')解决方案。
我想我找到了正确的解决方案:PKCS#12格式是最接近我需要的东西。 – sirgeorge 2012-02-16 12:43:41
这个问题有一个更轻的解决方案:被称为[AEAD](http://en.wikipedia.org/wiki/AEAD_block_cipher_modes_of_operation)。不幸的是,只有可用于openssl的补丁。当然,你需要密码来验证到期日期。 – 2012-02-18 01:03:40
作为单独的注释,不要忘记使用PBKDF2或bcrypt来创建密钥。我建议不要直接使用密码,如果这些算法不是一个选项,至少使用salt来散列它。 – 2012-02-18 01:07:31