2017-10-10 67 views

回答

1

你有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> 
+0

謝謝,我可以採用某種安全比/.m2/settings-security.xml文件更加的主密碼的位置? – koller23

+0

我編輯了我的帖子,如果你需要使用多於settings.xml的文件,你可以創建文件/.m2/settings-security.xml –

1

如果settings.xml是共享的(也許這是一個「團隊」的文件,或許它坐落在一個共享的構建/ CI箱),然後靈敏的細節 - 特別是密碼 - 可以(應該 :)加密。

  1. 創建一個主密碼:

    mvn --encrypt-master-password <password> 
    
  2. 添加主密碼settings-security.xml

  3. 加密密碼

    mvn --encrypt-password <password> 
    
  4. 加密值添加到您的settings.xml

更多詳細信息in the docs。對於例如

+0

確實需要主密碼。它可以更進一步安全,而不僅僅是設置security.xml中的加密哈希? – koller23

+1

不是我所知道的。這種方法確實依賴於保留你的'settings-security.xml' _safe_。該文檔提到了這一點:「爲了獲得額外的安全級別,您可以鼓勵開發人員將加密的主密碼存儲在可移動存儲設備(如USB硬盤驅動器)上。」 – glytching

+0

如果您在CI服務器上使用,您應該讓我們處理該CI工具,例如jenkins使用配置文件提供程序即時消息組合與證書存儲... – khmarbaise