【问题标题】:Intellij Azure DevOps plugin getting SSL error on TFVC getIntellij Azure DevOps 插件在 TFVC 上获取 SSL 错误
【发布时间】:2020-11-14 16:20:37
【问题描述】:

我们正在使用 Intellij IDEA 2020.1 Community Edition for Windows 进行开发,使用 Azure DevOps 插件。我们最近从 2019.2.2 升级。我们最初遇到了 TFS 服务器的服务器证书问题。我们可以通过允许 Intellij 自动接受未知证书来联系服务器。但是,我们无法提取 TFVC 存储库。这是错误的堆栈跟踪

我们通过将公司提供的 cacerts 文件放入 .IdeaC2019.2\system\tasks 目录来解决旧版本的问题。这在这个版本上不起作用。我们可以浏览 TFVC 集合,但无法创建工作区。我们可以从 Chrome 访问 TFS 存储库。

提前感谢您的帮助。

编辑:问题似乎出在 Microsoft tf 命令行实用程序中。我们处于非常严格锁定的虚拟桌面中(对风险极为敏感的业务),因此我们不能将证书放在默认的 java 密钥库中。旧的 tf 实用程序有一个配置文件命令,允许您设置属性。现在不存在了。

【问题讨论】:

  • 嗨@SteveB。好几天没收到你的回复。如果答案能给你一些帮助,请随时告诉我。如果可以的话,你可以考虑Accepting it as answer
  • @Kevin。请看下面我的回答。我们已经导出了证书,这只是重定向 tf 脚本的问题。谢谢你的回答。

标签: intellij-idea azure-devops ssl-certificate tfvc


【解决方案1】:

从报错信息来看,这个问题确实和证书有关。

您可以尝试以下步骤来导入证书。

  1. 连接到 Azure Devops Sever 并导出证书。

  1. 导航到 keytool 路径。我安装了 Intellij IDEA 2020.1.4。所以路径是C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.1.4\jbr\bin

  2. 运行脚本以导入证书。

例如:

keytool -keystore "C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.1.4\jbr\lib\security\cacerts" -importcert -alias TFS -file "C:\test\tfs.cer"

更多详细信息,您可以参考this Blog

另一方面,您也可以直接将所需的证书复制到security folder pathIntellij IDEA 2020.1.4 -> C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.1.4\jbr\lib\security

【讨论】:

    【解决方案2】:

    您可以在 IntelliJ Idea 中从 Help -> Edit Custom VM Options... 设置自定义 JVM 选项,并在文件中添加以下内容,然后重新启动 IntelliJ Idea。

    -Djavax.net.ssl.trustStore=<path to the cacerts file>
    

    这应该使 IDE 将 cacerts 文件用于受信任的证书。

    【讨论】:

    • 我们试过了。问题似乎出在 Microsoft 命令行工具上。不过,谢谢你的回答。
    • 如果这是 cli 上的 cacerts 问题,那么您可以通过设置 _JAVA_OPTIONS 环境变量来全局设置 JVM arg
    【解决方案3】:

    我们通过创建单独的信任库并导入证书解决了这个问题。然后我们编辑了插件使用的 tf 脚本。我们添加了 TF_ADDITIONAL_JAVA_ARGS 环境变量如下(您的路径会有所不同):

    set JAVA_TOOL_OPTIONS=
    set JAVA_OPITIONS=
    set TF_ADDITIONAL_JAVA_ARGS=-Djavax.net.ssl.trustStore=%USERPROFILE%\AppData\Local\JetBrains\IdealIC2020.1\tasks\cacerts -Djavax.net.ssl.trustStorePassword=changeit
    

    【讨论】:

    • 我不能。我在无法访问堆栈交换的虚拟桌面上工作。
    猜你喜欢
    • 2020-10-28
    • 2021-06-20
    • 1970-01-01
    • 2021-06-01
    • 2020-02-07
    • 2020-06-27
    • 2022-11-25
    • 2021-10-27
    • 2019-03-31
    相关资源
    最近更新 更多