有很多方法可以解決這個問題,所以我只能分享我對這個問題的想法。
一)我會承擔不同的版本將是對不同的分支,所以在本質上,我們只與一個發佈版本處理在同一時間
B),然後我每版的假設,你有每個環境不同的證書。可以使用maven配置文件(http://maven.apache.org/guides/introduction/introduction-to-profiles.html)處理每個環境部分,因此...
是否擁有多個或單個證書是一個優先事項。由於它提供了任何給定用戶和給定應用程序之間的信任級別,它本質上是風險與可維護性的判斷。 風險,因爲具有相同證書的多個應用程序提供更高的風險敞口,同樣也會導致惡意風險,任何違反其中的行爲都將違反所有規則。因此,證書的保護可能很重要。所有應用程序的可維護性都遵循相同的更新週期,並且更改爲一個意味着所有更改。
因此,耦合度要高一些,風險更大,維護更簡單。如果您是全球企業,Acme Inc的風險可能高於本地企業Icme Inc.,並且它會成爲其他人的數據或可能會邀請最安全選項的資金。
我看不出證書無法存儲的原因。無論是在存儲庫還是其他安全回購站,或者只是躺在地上。更有趣的可能是私鑰,您可以將其指定爲屬性,並使開發人員將其綁定到開發人員配置文件,並省略發佈配置文件,因此您必須在命令行上提供它們。
假設您使用maven jarsigner插件,您可以使用$ {my.keypass}和$ {my.keystore},然後使用兩個屬性設置的開發人員配置文件以及僅包含密鑰存儲區的版本配置文件。
我最後一次使用證書以同樣的方式我: - 一組單獨的組件 的 - 在單個存儲庫 - 這可能是建立一個單一的完整實體。
因此共享證書是一件容易的事。除最終產品之外的所有證書均在源代碼存儲庫中發佈的證書位於安全服務器上,我們擁有隻有少數人可以訪問的批處理過程。
至於安全隱患。我不認爲我們遇到過一個,但我們準備:)
感謝這種寶貴的反饋意見。存儲證書確實是一個公平的途徑。我還最終得出結論,默認配置文件應該允許任何人建立和去,而執行發佈可能會使用特定的密鑰庫值(因此不能在所有人之間共享)。 – 2013-06-18 11:22:01