代码之家  ›  专栏  ›  技术社区  ›  Nelson Teixeira

将Mylyn连接到Gitlab问题时,TLS证书无效

  •  1
  • Nelson Teixeira  · 技术社区  · 8 年前

    我终于找到了一个解决方案,将Mylyn与Gitlab在 this 问题。

    一切都很顺利。但几个月后,我都配置好了,它不再工作了。尝试连接时出现此错误:

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

    有人知道我怎样才能摆脱这条信息吗?首选项中没有ignorecertificateerrors选项插件也没有这样的配置? 我需要在in i文件里放些东西吗?我如何设置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."}
    

    所以我把网址改成了:

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

    数据加载正确。所以我想这是连接器使用过时api的问题。此链接:

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

    告诉我我可能得等一会儿。我找不到任何可以更改此URL的配置或文件。

    但我最初的问题是解决了tls问题,所以我会考虑vonc回答的问题。

    但如果有人知道我如何解决这个新问题,以便真正达到他与网站连接的目的,请随时添加其他的答案。

    2 回复  |  直到 7 年前
        1
  •  1
  •   VonC    7 年前

    这可能与 GitLab move to GCP (Google Cloud Platform)

    尝试将它添加到jdk密钥库(用于运行eclipse的jdk:它可以是嵌入式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 是的。

        2
  •  1
  •   Nelson Teixeira    7 年前

    我终于成功了。步骤:

    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清洁验证 再一次
    7. 当生成结束时,应该有一个名为 de.weingardt.mylyn.gitlab.updatesite/target/repository
    8. 转到eclipe->帮助菜单->安装详细信息并卸载以前安装的所有“Mylyn Gitlab连接器”(如果有)
    9. 转到eclipse->帮助菜单->安装新软件->添加和放置 <your complete folder path>/de.weingardt.mylyn.gitlab.updatesite/target/repository 在“位置”字段中。你可以把你想要的东西放在名字栏里。
    10. 选择刚才在“使用:”选项中添加的存储库。
    11. 下面应该出现一个名为“mylyn connectors”的条目。
    12. 安装好就完成了。您可以在mylyn中添加新的工作连接器。然后使用正常的连接过程连接到存储库。

    如果在这之后连接有任何问题,请检查我提到的问题的so链接,( this one )中。那里有一些有趣的信息。

    希望有帮助。感谢VONC给了我解决这个问题的第一步。:)

    编辑

    我的环境:Java8,Ubuntu16.0464位和EclipseOxygen

    推荐文章