簡體   English   中英

如何使用Maven簽署多個JNLP應用程序

[英]How to sign multiple JNLP application using Maven

我們將JNLP應用程序用於我的業務。 實際使用中,每個版本都需要手動簽名罐子。 這肯定會導致擁有不同的證書,過期的證書等等。

我們POC要求maven使用Maven Jarsigner插件自動簽署應用程序。

現在,將這種過程工業化的最佳方法是什么? 我想讓證書在所有應用程序之間共享,而不是每次都重新創建。

尤其是:

  • 為一堆公司申請擁有證書是正確的,還是我應該考慮為每份申請擁有一份證書?

  • 我們是否可以想象將證書存儲為依賴項(在業務回購下),並且將開發證書和發布證書都獲取uppon版本? 對本地構建說dev cert,對於發布說發布證書。

  • 這樣使用的缺點是什么?

  • 還有其他/更好的解決方案嗎?

感謝您的回答。

解決問題的方法有很多,所以我只能分享我對這個問題的想法。

a)我假設不同的發行版位於不同的分支上,所以從本質上講,我們一次只處理一個發行版

b)然后,我假設每個版本的環境都具有不同的證書。 每個環境部分都可以使用Maven配置文件( http://maven.apache.org/guides/introduction/introduction-to-profiles.html )處理,因此...

擁有多個證書還是單個證書是優先考慮的問題。 因為它提供了任何給定用戶和給定應用程序之間的信任級別,所以它實質上是風險與可維護性的判斷。 風險在於,具有相同證書的多個應用程序具有較高的曝光率,也可能破壞曝光率,任何違反一個的行為都構成對所有人的違反。 因此,證書的保護措施可能很重要。可維護性是所有應用程序都遵循相同的更新周期,並且更改為一個意味着對所有應用程序進行更改。

因此,耦合度更高,風險更難,維護也更簡單。。如果您是全球性企業Acme Inc,則風險可能會比本地企業Icme Inc.高,而其他人的數據或金錢可能邀請最安全的選項。

我看不出為什么無法存儲證書的原因。 要么在存儲庫中,要么在其他安全的倉庫中,或者只是躺在周圍。 更有趣的可能是私鑰,您可以將其指定為屬性,並讓開發人員將其綁定到開發配置文件中,而忽略發布版本,因此您必須在命令行上提供它們。

假設您使用maven jarsigner插件,則可以有$ {my.keypass}和$ {my.keystore},然后是具有兩個屬性集的dev配置文件,以及僅具有密鑰庫集的發布配置文件。

上次我以類似的方式使用證書時,我有:-一組單獨的組件-在一個存儲庫中-可以將其構建為一個完整的實體。

因此,共享證書很容易。 除最終產品外,所有證書都位於源代碼存儲庫中。發布的證書位於安全的服務器上,在該服務器上,我們有一個批處理過程,只有少數服務器可以訪問。

至於安全方面的妥協..我想我們從未遇到過,但是我們已經做好了准備:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM