我的任务:
我有一个编写文本文件的 Java 应用程序。应用程序应使用 RSA/SHA1 对这些文件进行签名,以确保在传输期间或传输后不会更改它们。
我的第一个想法是在文本文件的末尾附加一个“ RSA 签名块”。但我没有发现有关如何格式化此块才能使用标准工具(OpenSSL?)验证文件的信息
在网上搜索了几个小时后,我觉得标准是编写一个附加.rsa 扩展名的文件。(假设我们有一个 Order123.txt 我们生成一个文件“Order123.txt.rsa”)但是我没有找到有关这些文件格式的信息。
我发现的唯一的东西是有.rsa文件的几个链接,它们可以用openssl打开,例如: http: //file.downloadatoz.com/rsa-file-extension.html
此外http://download.java.net/jdk8/docs/technotes/guides/jar/jar.html谈到“META-INF/*.RSA”文件:
数字签名是 .SF 签名文件的签名版本。这些是不打算由人类解释的二进制文件。
数字签名文件与 .SF 文件具有相同的文件名,但扩展名不同。扩展名取决于数字签名的类型。
.RSA(PKCS7 签名,SHA-256 + RSA)
所以它似乎是一种二进制格式......
有人可以解释RSA 文件的格式吗?也许如何最好用Java编写这种格式?(假设公钥/私钥在密钥库中)