2
A
回答
2
這當然是可能的(畢竟security is a central tenant of Java's design philosophy),但是通常Java懶惰地處理這些問題,而不是在JVM啓動時。
generally recommended strategy將安裝一個安全管理器,用於防止訪問OS或JVM的關鍵部分的任何不可信代碼(信任由與安全管理器關聯的policy file定義)。但是,這些不受信任的代碼仍然可以在JVM沙箱中運行,並且在不可信代碼試圖跳出沙箱之前,您的應用程序不會崩潰。通常這被視爲一個功能。
如果您確實需要在運行時驗證所有Jars是否已簽名,您可以檢查類路徑以獲取所有正在加載的Jars並檢查其內容以驗證它們是否已簽名。 This answer提供了詳細說明如何執行此操作的示例代碼。
然而,更好的做法是避免即使在首位不可信的代碼,這是其中jarsigner
應用進來起轉JVM。添加任何罐子到類路徑與jarsigner
驗證它們,你可以確信之前,您JVM僅運行受信任的代碼。一旦JVM啓動,你的選擇就會受到更多的限制,所以最好的方法就是隻要你對你的安全策略或加載的類有信心就啓動JVM。
相關問題
- 1. 是否必須關閉()每個EntityManager?
- 2. 是否有可能重新創建JVM?
- 3. 檢查文件(可能有多個擴展名)是否存在?
- 4. SOAP是否必須是有狀態的?
- 5. 我是否必須連接到每個查詢的數據庫?
- 6. 是否有可能檢查MD5密碼
- 7. 是否有可能在scala中強制命名參數?
- 8. 是否有可能強制`round`在命名空間std中?
- 9. 是否有可能強制(n嵌入式)JVM只執行某些數字簽名的應用程序?
- 10. 檢查是否可以檢查控制?
- 11. 當每個請求必須由JVM處理時,nginx是否比Tomcat更好?
- 12. 是否有可能檢查設備是否越獄?
- 13. 是否有可能檢查aspx頁面是否爲圖像
- 14. 檢查兩個jar類是否相同
- 15. Rails - 總是必須檢查是否存在,然後值?
- 16. 是否有可能強制TeamCity爲每個SVN提交創建一個構建?
- 17. 我是否必須列出所有控制器功能?
- 18. 是否有可能強制JVM創建堆棧以外的堆對象?
- 19. 在nodejs的每個回調之後,我是否必須檢查錯誤?
- 20. 檢查RunOnUiThread是否有必要?
- 21. 是否有可能將XML節點標記爲「必須轉換」?
- 22. 檢查DLL是否已簽名C++
- 23. 檢查文件是否已簽名
- 24. 檢查簽名cookie是否存在
- 25. 是否有必要處理每個ManagementObject?
- 26. 是否有可能檢測到Java中是否有類可用?
- 27. 是否有可能在java中有一個未簽名的ByteBuffer?
- 28. 是否必須跟隨ELSE
- 29. WriteStream是否必須關閉?
- 30. 是否必須使用SSL?
嘿@endrigoantonini,你知道了嗎? –
@ThiagoLeãoMoreira可惜沒有。我試圖在配置甚至屬性文件中找到很多選項,但沒有找到。你有任何線索嗎? – endrigoantonini
還沒有,我在一個項目中工作,其中一個供應商說這是可行的......但我沒有找到任何文件/文章說明它是可行的。也許是一個特殊的類加載器? –