java - Maven是否通过http以明文形式传输用户名/密码

标签 java maven maven-2 nexus

如果我的 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/

相关文章:

java - Spring Boot变量重命名问题(Hibernate)

Maven 私有(private)远程仓库设置

java - 在 xjc 类生成期间设置 XmlType

java - 如何指示 Eclipse JDK 1.6 是 Java 1.6 兼容的 JRE?

javascript - 对 servlet 的 AJAX 调用不起作用

java - maven - 未找到奇怪的类异常

maven-2 - 如何用 JUnit 4 写一些东西到万无一失的日志

java - 为什么这个 autorun-cmd 注册表 hack 会影响 java/maven 进程?

java - 迁移 androidX 后无法实例化 fragment com.google.android.gms.maps.SupportMapFragment

java - 为什么这个 Spring Boot 应用程序找不到主页?