【问题标题】:Nexus Repository Manager 3 using SSL Unreachable by browsers or Docker使用 SSL 的 Nexus Repository Manager 3 浏览器或 Docker 无法访问
【发布时间】:2018-11-07 05:06:59
【问题描述】:

我不是 java 人,但我们将 Nexus 用于我们的 NPM 和 Nuget 包,并希望开始使用它来托管 Docker 映像,但我似乎无法使用他们的指南让 SSL 工作。我使用的是 3.14 版

我已经生成了密钥库并验证了它是否可以使用:

keytool -printcert -sslserver localhost:8444 -v

我的 nexus.properties 文件包含

ssl.etc=${karaf.data}/etc/ssl
应用程序端口 SSL=8444
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml,${jetty.etc}/jetty- https.xml

我尝试更新 local_policy.jar 和 US_export_policy.jar,尝试更新 JRE,但我仍然只是得到 ​​p>

当我尝试浏览器时来自 chrome 的 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 或 TLS 握手失败,Docker 尝试登录。

【问题讨论】:

  • 您能解释一下您在生成密钥库时的选择吗?什么算法?什么位大小?等等。有些选择会导致你的问题。

标签: java ssl jetty nexus sonatype


【解决方案1】:

由于您正在生成密钥库,因此请确保使用以下一般建议。

  • 为您的密钥算法使用 AES 或 RSA(不是 DSA 或 DES)
  • 使用 2048 位(或更大。选择 4096)
  • 使用强签名算法,例如 SHA256 或 SHA512(不是 SHA、SHA1、MD5)
  • 密钥库类型应为 PKCS12 或 JKS(用于 Java 密钥库)

如果您使用 DSA 或 DES,您将无法连接。 如果您使用太低的位大小,您将无法连接。 如果你使用糟糕的签名算法,你将无法连接。

有关使用keytoolopenssl 生成密钥库的示例,请参阅https://www.eclipse.org/jetty/documentation/current/configuring-ssl.html

【讨论】:

    【解决方案2】:

    我发现了问题。这是我生成密钥库的方式。我正在使用从 Windows 导出的 .pfx 证书,并尝试在导入密钥库之前将其拆分为单独的部分。

    一旦我尝试导入包含私钥的 pfx 证书,它就起作用了。自测试以来,它似乎就可以正常工作

    keytool -printcert -sslserver localhost:8444 -v

    返回证书时没有错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-16
      • 2019-05-04
      • 2016-08-21
      相关资源
      最近更新 更多