【问题标题】:How to allow self-signed certificates from a specific domain during a Maven build?如何在 Maven 构建期间允许来自特定域的自签名证书?
【发布时间】:2021-10-27 08:14:47
【问题描述】:

我公司的项目需要来自我们公司内部域的 SSL 证书。通常,我们对这些自签名证书所做的事情是从 Web 浏览器(例如 Chrome)导出证书,然后将这些证书导入 JVM 信任库(cacerts),并在运行 maven 构建时引用此信任库的路径。例如。通过传递以下参数:

-Djavax.net.ssl.trustStore=C:/Users/joebloggs/cacerts 

最近我发现如果我们设置以下参数,maven还有一个允许自签名证书的选项:

-Dmaven.wagon.http.ssl.insecure=true
-Dmaven.wagon.http.ssl.allowall=true

我没有问过我团队中的任何人为什么不使用上述参数,但我 100% 确定这与安全性有关。

我想知道是否可以让 maven 接受自签名证书,但只能来自特定域。

例如,我们有以下存储库:

  • primary-nexus.JoeBloggsCompany.com
  • secondary-nexus.JoeBloggsCompany.com

有没有办法让我只接受来自公司域 (JoeBloggsCompany.com) 的自签名证书?

【问题讨论】:

    标签: maven ssl


    【解决方案1】:

    证书分配给物理实体(人或主机)。 JoeBloggsCompany.com 域背后的主机很可能是公司的 WWW 服务器。

    Maven Wagon HTTP, Features:

    • maven.wagon.http.ssl.allowall = true/false(默认为false),是否将服务器的 X.509 证书与请求的 IP/DNS 名称匹配。如果为 false/未设置,将使用常规服务器检查,这意味着服务器的 IP/DNS 必须匹配第一个 CN、主题字段或主题备用名称扩展值之一(如果主题或 SAN 类型是 @ 987654327@ 或iPAddress - 见RFC 5280 for more details)。否则,不会应用此类匹配。

    【讨论】:

      猜你喜欢
      • 2017-02-19
      • 1970-01-01
      • 2015-05-08
      • 1970-01-01
      • 2017-12-19
      • 2012-12-26
      • 1970-01-01
      • 2020-05-22
      • 1970-01-01
      相关资源
      最近更新 更多