如果我的 settings.xml
文件中有一个带有 HTTP(而非 HTTPS)URL 的(Nexus)远程存储库的用户名/密码,这个用户名/密码是否会以明文形式发送到远程服务器?
我想知道我们面向公众的仅 HTTP 密码验证 Nexus 服务器是否存在潜在的安全问题。
最佳答案
Maven 使用 HTTP 基本身份验证来发送凭据。一个典型的 HTTP header 类似于:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
其中 QWxhZGRpbjpvcGVuIHNlc2FtZQ==
实际上是您的 username:password
组合的 Base64 编码表示。这不提供任何安全性,但它也不是纯文本。
关于HTTP Basic认证的更多细节,可以查看here .
大多数构建工具,如 Maven、Ant、Gradle、SBT、npm,都使用 HTTP Basic。这并不像它应该的那样安全。通过 HTTPS 使用它可以让您感觉更安全。 :)
关于java - Maven是否通过http以明文形式传输用户名/密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46731819/