我已经创建了一个加密模块并将其导出为 jar 文件。
为了通过 FIPS 验证,库在加载时需要进行 self 完整性测试。
这样做的第一个想法是在运行时读取 jar 文件,生成哈希并将其与保存在某处的签名进行比较。
通过解压缩使用 jar 文件的应用程序 apk,我没有找到 jar。所以我猜 jar 中的类保存在 classes.dex 中,对吗?是否可以从 classes.dex 中恢复 jar?
最佳答案
在加载模块之前,您需要执行“批准的完整性技术”。唯一获得 NIST“批准”的完整性验证方法是: - DSA/RSA/ECDSA 签名 - C/MAC 或 HMAC
参见 FIPS140-2 Implementation Guidance document 中的“6.4 批准的完整性技术” .
简单的 MD5/SHA-1/SHA-2 哈希是不够的。
关于android - 如何在 android 运行时访问库 jar 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8348712/