我已經創建了一個加密模塊並將其導出爲jar文件。如何在android中運行時訪問庫jar文件?
加載庫時需要進行自我完整性測試以通過FIPS驗證。
第一個想法是在運行時讀取jar文件,做一個散列並將其與某個地方保存的簽名進行比較。
通過解壓縮使用jar文件的應用程序apk,我沒有找到jar。所以我猜jar中的類保存在classes.dex中,對嗎?是否有可能從classes.dex中恢復jar?
我已經創建了一個加密模塊並將其導出爲jar文件。如何在android中運行時訪問庫jar文件?
加載庫時需要進行自我完整性測試以通過FIPS驗證。
第一個想法是在運行時讀取jar文件,做一個散列並將其與某個地方保存的簽名進行比較。
通過解壓縮使用jar文件的應用程序apk,我沒有找到jar。所以我猜jar中的類保存在classes.dex中,對嗎?是否有可能從classes.dex中恢復jar?
是否有可能從classes.dex中恢復jar?
號
而且,它不會做你有點作用。無論誰改變你的JAR也只會改變哈希。
的DEX格式是不公開的,但確實存在一種工具,它解壓到一個罐子,其所謂dex2jar並且可以在這裏找到http://code.google.com/p/dex2jar/
不認爲這雖然解決您的問題,只是想你想知道。
在加載模塊之前,您需要執行「批准的完整性技術」。唯一NIST 「已批准」 完整性驗證方法是: - DSA/RSA/ECDSA簽名 - C/MAC或HMAC
見 「6.4批准完整性技術」 中FIPS140-2 Implementation Guidance document。
一個簡單的MD5/SHA-1/SHA-2哈希是不夠的。
在運行時是否可以讀取我的類的字節碼?謝謝。 –
@思洛:我不能肯定地說。 – CommonsWare