我正在尝试找到一种方法将RSA签名嵌入到文件中,而不会使其无法读取。现在,我可以使用我的私钥生成有效签名byte[]
。
所以现在我只想将它包含在文件中,因此我可以提取它并验证文件是否已被操作。
我想要嵌入签名的文件是图像,CSS和JavaScript文件。
答案 0 :(得分:1)
这取决于文件格式。对于.css
和.js
,您可以考虑在注释中添加签名,尽管单个位更改已经足以打破签名。因此,您必须完美地提取签名,并确保.css
和.js
文件不以任何方式转换。您还可以将.css
和.js
转换为某些规范形式并签名。
对于图像,技巧更难。您可能需要某种元数据,您可以在其中存储签名。对于可能是IPTC attribute的.jpeg
或.png
张图片。但是,对于每种图像类型,这些标题都不存在或不可能......
通常使用分离的签名。例如,在CMS (cryptographic message syntax) standard中定义了分离的签名,而Bouncy Castle libraries则由{{3}}实现。