作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将一些数据存储在密码加密文件中。该文件应包含:1) 数据的有效期2)数据本身过期日期不一定需要加密,但需要防止篡改(例如,可以对整个文件进行签名)。
有没有办法使用 OpenSSL 使用一些定义明确的加密格式来做到这一点?我只对用 C 语言编程(最好使用 OpenSSL API,例如 EVP_* 和 friend )感兴趣,执行进程、脚本、Java、.NET、Python 等都是不可能的。
附注我非常熟悉 OpenSSL API,但不知何故我找不到任何好的且(至少相对“干净”)的解决方案来解决这个问题。
最佳答案
我想你已经回答了你自己的问题。您必须对包括到期日期在内的整个文件进行数字签名,以保护到期日期的真实性,即使对于有权访问可用于解密实际数据的密码的用户也是如此。
生成例如用于签署加密文件的 RSA key 对。解密文件的用户应有权访问 RSA 公钥和密码。
这种方案显然有一些注意事项。例如,添加数字签名不会阻止用户简单地忽略到期日期、数字签名或两者。
关于c - 有没有办法存储密码加密数据以及过期日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9304680/
我是一名优秀的程序员,十分优秀!