将 Mylyn 连接到 Gitlab 时出现无效的 TLS 证书问题

Invalid TLS Certificate when connecting Mylyn to Gitlab issues

我终于找到了一个解决方案,将 Mylyn 连接到 问题中的 Gitlab 问题。

一切顺利。但是自从我全部配置好几个月后,它就不再工作了。我在尝试连接时遇到此错误:

Invalid TLS Certificate: You can disable certificate checking by setting ignoreCertificateErrors on GitlabHTTPRequestor

有人知道我怎样才能摆脱这条消息吗?首选项中没有 ignoreCertificateErrors 选项,插件也没有任何此类配置? 我必须在 ini 文件中添加一些东西吗?我如何设置 ignoreCertificateErrors ?

编辑

VonC 给出的命令有效。但是现在我又遇到了另一个错误:

Unknown Exception: java.io.FileNotFoundException: https://git.company/api/v3/projects?private_token=whatever

我把这个 url 放在浏览器中,得到以下 json:

{"error":"API V3 is no longer supported. Use API V4 instead."}

所以我将 url 更改为:

https://git.company/api/v4/projects?private_token=whatever

并且数据加载正确。所以我猜这是使用过时 api 的连接器的问题。这个link:

https://github.com/pweingardt/mylyn-gitlab/issues/47

告诉我我可能需要稍等片刻。我找不到任何可以更改的配置或文件 url。

但我最初的问题是针对已解决的 TLS 问题,因此我将考虑 VonC 回答的问题。

但是,如果有人知道我如何解决这个新问题,以便通过连接该站点真正解决这个问题,请随时添加其他答案。

这可能链接到 GitLab move to GCP (Google Cloud Platform)

尝试将它添加到您的 JDK 密钥库(用于 运行 您的 Eclipse 的 JDK:它可能是嵌入式 jdk,或者您系统上的一个)

首先获取新证书:

echo -n | openssl s_client -connect git.company:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > gitlab.chain.pem

(将git.company替换为你的GitLab服务器域名)

然后将其添加到您的 JDK

cd /path/to/jdk
jre/bin/keytool -keystore jre/lib/security/cacerts -storepass changeit -import -trustcacerts -file gitlab.chain.pem -alias NewGitLab

再次启动 Eclipse,并尝试使用 Mylyn 连接器。

注意:我确认,since GitLab 11.0 (July 2018), the API v3 is no longer supported。只有 v4.
参见 issue 36819

我终于成功了。步骤:

  1. 首先确保你的机器上安装了 JDK 和 maven,它们工作正常并且遵循了 VonC 在他的回答中给出的说明。在遵循 VonC 说明之前,您应该安装 JDK。
  2. 克隆此 github 存储库:https://github.com/timols/java-gitlab-api
  3. CD 到您克隆它的文件夹,然后 运行 mvn clean verify。它将创建一个目标文件夹,其中包含一个名为 java-gitlab-api-4.0.1-SNAPSHOT.jar 的文件。
  4. 克隆此 github 存储库:https://github.com/scriptninja/mylyn-gitlab
  5. 将java-gitlab-api-4.0.1-SNAPSHOT.jar文件放入de.weingardt.mylyn.gitlab.core/lib文件夹
  6. 转到您克隆 mylyn-gitlab 的文件夹并再次 运行 mvn clean verify
  7. 当构建结束时,应该有一个名为 de.weingardt.mylyn.gitlab.updatesite/target/repository
  8. 的文件夹
  9. 转到 eclipe->帮助菜单->安装详细信息并卸载之前安装的任何 "Mylyn gitlab connectors"(如果有)
  10. 转到eclipse->help menu->Install new software->Add and put <your complete folder path>/de.weingardt.mylyn.gitlab.updatesite/target/repository in the Location field。您可以在名称字段中输入任何内容。
  11. Select 您刚刚在 "Work with:" 选择中添加的存储库。
  12. 名为 "Mylyn connectors" 的条目应该出现在下方。
  13. 安装它就完成了。您可以在 Mylyn 中添加新的工作连接器。然后只需使用正常的连接过程连接到存储库。

如果在此之后连接有任何问题,请检查 SO link 我提到了我的问题,()。它有一些有趣的信息。

希望对您有所帮助。感谢 VonC 给了我解决这个问题所需的第一步。 :)

编辑

我的环境:Java8,Ubuntu16.04 64 位和 Eclipse Oxygen