[英]How to preserve the CAcerts keystore on Mac across updates?
Mac OS X在/System/Library/Frameworks/JavaVM.framework/Home/lib/security/cacerts中有CA密鑰庫。 這個密鑰庫似乎被每個Java更新覆蓋,這非常煩人,因為我們有內部CA用於開發環境,測試...
有沒有辦法在Apple JSR中保留密鑰庫更改,現在,使用Snow Leo JSR3,還可以跨越單獨的Java開發人員包(其JDK使用相同的密鑰庫)的更新?
[這是過時的信息 - 請參閱下面的答案10.6+]
/System/Library/Frameworks/JavaVM.framework/Home/
是/System/Library/Frameworks/JavaVM.framework/Home/
中的Versions/CurrentJDK/Home
的符號鏈接。 顯然,這將隨着新版本而改變。 使用完整路徑(例如/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
),它不會在更新中更改。
以下參數可用於指定cacerts文件到java的位置:
-Djavax.net.ssl.trustStore=<cacerts.location>
-Djavax.net.ssl.trustStorePassword=changeit
在java主目錄(帶有內部CA)中復制cacerts並將其放在主目錄中的某個位置。 然后將完整路徑放到cacerts文件位置作為上面javax.net.ssl.trustStore屬性的值。 該副本不會被Java更新覆蓋。 默認密碼為“changeit”。
這種方法的兩個缺點是:
在Mac OS X 10.6.8 Snow Leopard中似乎發生了變化。 現在/System/Library/Frameworks/JavaVM.framework/Home/lib/security/cacerts
是一個符號鏈接/System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts
,不會如果我們幸運的話,更新更新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.