如何保护 Maven 中 settings.xml 中的服务器/代理设置?
我认为这主要是关于存储在那里的登录名和密码,我认为这些不能显式放置在那里,它们是否应该存储在环境变量/等中?
安全 settings.xml 的示例应该如何?
您有 2 个选择:
1)如果您只需要在settings.xml中使用:
执行:
mvn --encrypt-password <password>
Run Code Online (Sandbox Code Playgroud)
您将获得如下加密密码:
{COQLCE6DU6GtcS5P=}
Run Code Online (Sandbox Code Playgroud)
您可以在 settings.xml 中使用此密码:
<settings>
...
<servers>
...
<server>
<id>my.server</id>
<username>foo</username>
<password>{COQLCE6DU6GtcS5P=}</password>
</server>
...
</servers>
...
</settings>
Run Code Online (Sandbox Code Playgroud)
2)如果需要多次使用:
执行:
mvn --encrypt-master-password <password>
Run Code Online (Sandbox Code Playgroud)
你将得到这样的加密密码:
{jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+9EF1iFQyJQ=}
Run Code Online (Sandbox Code Playgroud)
将此密码存储在${user.home}/.m2/settings-security.xml中,它应如下所示:
<settingsSecurity>
<master>{jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+9EF1iFQyJQ=}</master>
</settingsSecurity>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4576 次 |
| 最近记录: |