将 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。
我终于成功了。步骤:
- 首先确保你的机器上安装了 JDK 和 maven,它们工作正常并且遵循了 VonC 在他的回答中给出的说明。在遵循 VonC 说明之前,您应该安装 JDK。
- 克隆此 github 存储库:https://github.com/timols/java-gitlab-api
- CD 到您克隆它的文件夹,然后 运行
mvn clean verify
。它将创建一个目标文件夹,其中包含一个名为 java-gitlab-api-4.0.1-SNAPSHOT.jar 的文件。
- 克隆此 github 存储库:https://github.com/scriptninja/mylyn-gitlab
- 将java-gitlab-api-4.0.1-SNAPSHOT.jar文件放入de.weingardt.mylyn.gitlab.core/lib文件夹
- 转到您克隆 mylyn-gitlab 的文件夹并再次 运行
mvn clean verify
- 当构建结束时,应该有一个名为
de.weingardt.mylyn.gitlab.updatesite/target/repository
的文件夹
- 转到 eclipe->帮助菜单->安装详细信息并卸载之前安装的任何 "Mylyn gitlab connectors"(如果有)
- 转到eclipse->help menu->Install new software->Add and put
<your complete folder path>/de.weingardt.mylyn.gitlab.updatesite/target/repository
in the Location field。您可以在名称字段中输入任何内容。
- Select 您刚刚在 "Work with:" 选择中添加的存储库。
- 名为 "Mylyn connectors" 的条目应该出现在下方。
- 安装它就完成了。您可以在 Mylyn 中添加新的工作连接器。然后只需使用正常的连接过程连接到存储库。
如果在此之后连接有任何问题,请检查 SO link 我提到了我的问题,()。它有一些有趣的信息。
希望对您有所帮助。感谢 VonC 给了我解决这个问题所需的第一步。 :)
编辑
我的环境:Java8,Ubuntu16.04 64 位和 Eclipse Oxygen
我终于找到了一个解决方案,将 Mylyn 连接到
一切顺利。但是自从我全部配置好几个月后,它就不再工作了。我在尝试连接时遇到此错误:
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。
我终于成功了。步骤:
- 首先确保你的机器上安装了 JDK 和 maven,它们工作正常并且遵循了 VonC 在他的回答中给出的说明。在遵循 VonC 说明之前,您应该安装 JDK。
- 克隆此 github 存储库:https://github.com/timols/java-gitlab-api
- CD 到您克隆它的文件夹,然后 运行
mvn clean verify
。它将创建一个目标文件夹,其中包含一个名为 java-gitlab-api-4.0.1-SNAPSHOT.jar 的文件。 - 克隆此 github 存储库:https://github.com/scriptninja/mylyn-gitlab
- 将java-gitlab-api-4.0.1-SNAPSHOT.jar文件放入de.weingardt.mylyn.gitlab.core/lib文件夹
- 转到您克隆 mylyn-gitlab 的文件夹并再次 运行
mvn clean verify
- 当构建结束时,应该有一个名为
de.weingardt.mylyn.gitlab.updatesite/target/repository
的文件夹
- 转到 eclipe->帮助菜单->安装详细信息并卸载之前安装的任何 "Mylyn gitlab connectors"(如果有)
- 转到eclipse->help menu->Install new software->Add and put
<your complete folder path>/de.weingardt.mylyn.gitlab.updatesite/target/repository
in the Location field。您可以在名称字段中输入任何内容。 - Select 您刚刚在 "Work with:" 选择中添加的存储库。
- 名为 "Mylyn connectors" 的条目应该出现在下方。
- 安装它就完成了。您可以在 Mylyn 中添加新的工作连接器。然后只需使用正常的连接过程连接到存储库。
如果在此之后连接有任何问题,请检查 SO link 我提到了我的问题,(
希望对您有所帮助。感谢 VonC 给了我解决这个问题所需的第一步。 :)
编辑
我的环境:Java8,Ubuntu16.04 64 位和 Eclipse Oxygen