我正在学习使用maven password encryption功能,我想知道如何选择参数<password>
。有两件事我不明白:
mvn --encrypt-master-password foobar
将始终提供不同的encrypted master password
。由于encrypted master password
总是不同,我只看到两种可能性:
encrypted master password
以获取master password
。这意味着我们的encrypted server passwords
只能在本地使用。master password
没用,根本没用。所以,我的问题是:
本地存储什么?我的
master password
会保持安全吗?有没有第三种可能性我没想到?
另请注意,加密密码可由具有主密码和设置安全文件的人解密。如果您希望可能检索settings.xml文件,请保持此文件的安全(或单独存储)。
如果settings security file
是要保护的东西,为什么我要打扰选择强主密码呢?我不能只使用foobar并保持我的settings security file
安全吗?
此外,看起来有两个文件(settings security file
和settings file
)的人不需要master password
来连接到maven服务器。他可以在不知道密码的情况下使用我们的身份解密master password
(使其为纯文本)需要servers passwords
“仅”。但话说回来,保护settings security file
应该是要走的路,master password
仍然无用。
我的问题:
master password
有多重要?我有记得吗?我可以使用一个长的随机短语并永远忘记它吗?
PS:我找不到答案here。
答案 0 :(得分:10)
第一个密码仅用于生成主密码,然后您可以忘记密码。它是使用加密机制和伪随机组件生成的。因此,不应该破译它。在您的安全设置文件中,没有任何其他内容存储在您的主密码中,并且不会再提示或再次询问。
此主密码用于在设置文件中加密和解密密码。它与用户引入的密码具有相同的值,但几乎不可能推断出它。
然后:
在您的安全设置文件中,除了主密码之外没有其他任何内容存储,并且不会再提示或再次询问。所有安全性都在于安全设置文件的安全性。
主密码并不重要,您可以立即忘记。你可以随心所欲地使用它。
我不喜欢这种方法来保护我的密码,我希望有一个真正的密码加密机制,并且没有存储真正的主密码。使用密码策略的公钥 - 私钥似乎更好。