如何在maven的settings.xml中保護服務器/代理設置?如何保護和加密maven中的settings.xml paswords文件?
我認爲這主要是關於登錄和存儲有密碼,我認爲那些不能放在放在那裏明確,他們應該被存放在ENV變量在/ etc?
應該怎麼例如一個安全的settings.xml的期待?
如何在maven的settings.xml中保護服務器/代理設置?如何保護和加密maven中的settings.xml paswords文件?
我認爲這主要是關於登錄和存儲有密碼,我認爲那些不能放在放在那裏明確,他們應該被存放在ENV變量在/ etc?
應該怎麼例如一個安全的settings.xml的期待?
你有2種選擇:
1)如果你只需要在settings.xml中使用:
執行:
mvn --encrypt-password <password>
您將得到加密的密碼是這樣的:
{COQLCE6DU6GtcS5P=}
您可以使用此密碼我n您的Settings.XML:
<settings>
...
<servers>
...
<server>
<id>my.server</id>
<username>foo</username>
<password>{COQLCE6DU6GtcS5P=}</password>
</server>
...
</servers>
...
</settings>
2)如果您需要在多種用途的使用方法:
執行:
mvn --encrypt-master-password <password>
呦將得到加密的密碼是這樣的:
{jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+9EF1iFQyJQ=}
存儲此密碼在$ {使用r.home} /平方米/設置-security.xml文件它應該看起來像:
<settingsSecurity>
<master>{jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+9EF1iFQyJQ=}</master>
</settingsSecurity>
如果settings.xml
是共享的(也許這是一個「團隊」的文件,或許它坐落在一個共享的構建/ CI箱),然後靈敏的細節 - 特別是密碼 - 可以(應該 :)加密。
創建一個主密碼:
mvn --encrypt-master-password <password>
添加主密碼settings-security.xml
加密密碼
mvn --encrypt-password <password>
加密值添加到您的settings.xml
更多詳細信息in the docs。對於例如
確實需要主密碼。它可以更進一步安全,而不僅僅是設置security.xml中的加密哈希? – koller23
不是我所知道的。這種方法確實依賴於保留你的'settings-security.xml' _safe_。該文檔提到了這一點:「爲了獲得額外的安全級別,您可以鼓勵開發人員將加密的主密碼存儲在可移動存儲設備(如USB硬盤驅動器)上。」 – glytching
如果您在CI服務器上使用,您應該讓我們處理該CI工具,例如jenkins使用配置文件提供程序即時消息組合與證書存儲... – khmarbaise
謝謝,我可以採用某種安全比/.m2/settings-security.xml文件更加的主密碼的位置? – koller23
我編輯了我的帖子,如果你需要使用多於settings.xml的文件,你可以創建文件/.m2/settings-security.xml –