0

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

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

PS 我对 OpenSSL API 非常熟悉,但不知何故我找不到任何好的(至少相对“干净”)解决方案来解决这个问题。

4

1 回答 1

1

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

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

这种方案显然有一些注意事项。例如,添加数字签名不会阻止用户简单地忽略到期日期、数字签名或两者。

于 2012-02-16T08:27:21.573 回答