【问题标题】:How to use ssl certificates in Java on a Mac如何在 Mac 上的 Java 中使用 ssl 证书
【发布时间】:2018-10-03 14:29:23
【问题描述】:

我发现了这个问题:Import Windows certificates to Java,它有 Windows 机器的答案。对于 MacOS,我一直无法找到与 -Djavax.net.ssl.trustStoreType=WINDOWS-ROOT 等效的内容。

【问题讨论】:

  • 谢谢,但这似乎没有帮助。 Maven 仍然无法找到证书。
  • 我在本地设置信任时一般不指定类型(即在我的Mac上),通常只需要指定javax.net.ssl.trustStore=<fully qualified path>。您是否正在创建特定类型的证书?
  • 我显然已经拥有正确的证书,因为我可以使用网络浏览器浏览到存储库。但是,Maven 无法找到它。 @JacobBlanton,是完全合格的 cacerts 路径还是别的什么?
  • 是的,这是正确的。我的文件是.jks 格式的组织根证书。

标签: java macos ssl-certificate


【解决方案1】:

Jacob Blanton 在上面的评论中提供了解决方案。通过在我的 .bash_profile 中将 -Djavax.net.ssl.trustStore=<path to cacerts> 添加到 MAVEN_OPTS,Eclipse 中的独立 Maven 和 Maven 都能够根据需要访问存储库[在我使用 Jorge Campos 在他的评论中链接到的说明将证书安装到 cacerts 之后,在此处找到 @987654321 @]

【讨论】:

    【解决方案2】:

    在 OSX 上,您可以设置 -Djavax.net.ssl.trustStoreType=KeychainStore 以将 OSX 钥匙串用于可信证书;这是Apple JCA Provider 的一部分。

    【讨论】:

      【解决方案3】:
      I am using version 10.14.1 (Mojave).
      
      1. 在我的例子中,路径 java 是: “/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home”
      2. 在我的 ~/.bash_profile 中,我输入了这一行:
        export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home"
      3. 之后我输入了 source ~/.bash_profile

      4. 键入 echo echo $JAVA_HOME

      5. 检查配置输入 $JAVA_HOME/bin/java -version
        • 您应该会看到类似的内容:
          java版本“1.8.0_211”
          Java(TM) SE 运行时环境(内部版本 1.8.0_211-b12)
          Java HotSpot(TM) 64 位服务器 VM(内部版本 25.211-b12,混合模式)

      【讨论】:

        猜你喜欢
        • 2012-07-07
        • 1970-01-01
        • 2019-10-06
        • 2019-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-28
        相关资源
        最近更新 更多