有没有办法存储密码加密数据以及到期日期?

时间:2012-02-16 02:28:39

标签: c encryption openssl password-encryption

我想将一些数据存储在密码加密文件中。该文件应包含: 1)数据的到期日期 2)数据本身 到期日期不一定需要加密,但需要防止篡改(例如,整个文件可以签名)。

有没有办法使用OpenSSL使用一些定义明确的加密格式? 我只对在C中以编程方式(最好是使用OpenSSL API,例如EVP_ *和朋友)进行操作感兴趣,执行进程,脚本,Java,.NET,Python等是不可能的。

P.S。 我对OpenSSL API非常熟悉,但不知何故我找不到任何好的和(至少相对'干净')解决这个问题的方法。

1 个答案:

答案 0 :(得分:1)

我想你回答了自己的问题。您必须对整个文件进行数字签名,包括到期日期,以保护到期日期的真实性,即使是有权访问可用于解密实际数据的密码的用户也是如此。

生成例如用于对加密文件进行签名的RSA密钥对。解密文件的用户应该可以访问RSA公钥和密码。

显然有一些关于这种方案的警告。例如,添加数字签名不会阻止用户简单地忽略过期日期,数字签名或两者。