40

如何将 java 创建的 SSL 证书导入到 Eclipse 中的项目中?

4

8 回答 8

47

可能您想在 JRE 的 trustcacerts 中导入“假” SSL 证书以避免无效证书问题。不是吗?

正如乔恩所说,您可以使用keytool完成这项工作:

keytool
    -import
    -alias <provide_an_alias>
    -file <certificate_file>
    -keystore <your_path_to_jre>/lib/security/cacerts

询问时使用“changeit”作为默认密码(感谢 Brian Clozel)。确保在您的服务器上使用此运行时或启动配置。

于 2009-03-26T09:20:57.550 回答
25

如果您的 Windows 证书存储中已经有证书(这在使用 MITM 证书的公司部署中很常见),您还可以使用以下步骤(在另一个 Stackoverflow 答案的帮助下,提供更详细的解释):

  1. eclipse.ini在 Eclipse 安装中找到该文件并打开它

  2. 在该行下方-vmargs,添加以下行,然后保存文件:

-Djavax.net.ssl.trustStore=NUL
-Djavax.net.ssl.trustStoreType=Windows-ROOT 
  1. 重启日食。
于 2021-01-19T15:25:04.957 回答
7

有一个更好的工具来完成这项工作。

密钥库资源管理器

当您运行(在 Windows 中以管理员身份运行以保存对系统的更改,在 linux 中使用 sudo 等)应用程序(它具有 win/mac/linux 的安装程序)时,有一个内置功能可以编辑系统的 cacerts 文件:

文件 -> 特殊打开 -> 打开 CA 证书

开放 CA 证书

已经拥有证书文件,您可以访问:

工具 -> 导入可信证书

或者您需要从服务器下载证书;去:

检查 -> 检查 SSL

检查菜单

检查 SSL

从那里输入主机名,然后单击确定。它将弹出一个显示证书详细信息的窗口。在该窗口的底部有一个“导入”按钮,可让您直接将其导入 cacerts。

SSL 连接的证书详细信息

确保保存并关闭 cacerts,然后重新启动 eclipse/应用程序以使设置生效。

于 2018-11-28T07:17:42.577 回答
2

我们需要导入证书意味着我们需要使用:

keytool 
 -importcert 
 -file <certificate_location> 
 -keystore <jre_location\lib\security\cacerts> 
 -alias "<cert_name>"

它会要求输入密码。输入密码为changeit

Type Password : changeit

最后它会询问需要添加 {yes/no} :

输入是。

注意:不要在位置路径中给出空格

于 2017-10-28T13:24:58.427 回答
1

如果您有默认的 Java 设置并提供了 Java 类路径,那么您必须使用 Java 信任库来获取 SSL 证书。

为此,您可以按照以下步骤将证书导入信任库:

  1. 导航到 Java 设置的 JRE\bin 文件夹 理想情况下,路径应该是:

用户\Java\jre1.8.0_221\bin

  1. 您将能够在 bin 文件夹中找到 Keytool(将用于运行命令):

定位 Keytool 的路径

  1. 现在,一旦您在此路径上,请在 CMD 提示符下打开该路径:

CMD中的bin文件夹

  1. 现在您将能够在以下路径中找到 Java 的默认信任库:路径-

用户\Java\jre1.8.0_221\bin

Java 默认信任存储的路径

  1. 现在您可以运行以下命令来查看此信任存储的内容:

    keytool -list -v -keystore "C:\Program Files\Java\jre1.8.0_221\lib\security\cacerts"

注意:如果您的信任存储路径中有空格,那么您需要在路径中使用双引号。否则,您可以提供如下路径:

keytool -list -v -keystore C:\Temp\Java\jre1.8.0_221\lib\security\cacerts

现在只需向 Trust Store 提供密码(默认密码为:changeit): Accessing Trust store using Keytool

  1. 您现在可以根据需要将任何证书添加到信任库:

    JRE_HOME/bin/keytool -import -trustcacerts -alias certAlias -file certFile -keystore trustStoreFile

于 2020-04-07T07:09:49.773 回答
1

苹果电脑

  1. 打开Keychain Access.app(快捷方式:按 Command + 空格键并键入 Keychain)
  2. 搜索所需的证书文件(例如example.cer)并右键单击 ➡️ 选择导出... ➡️ 将其保存到某个位置,例如Desktop.
  3. 按照此答案中的说明将其导入您的 Java 证书存储。重要的命令是:
cd $JAVA_HOME/lib/security
sudo cp cacerts cacerts.bak
sudo keytool -importcert -alias youralias -file ~/Desktop/example.cer -keystore cacerts

密钥库的默认密码是:changeit.

  1. 假设,$JAVA_HOME/lib/security指向/Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home/lib/security您的系统,在文件中添加以下行eclipse.ini
-Djavax.net.ssl.trustStore=/Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home/lib/security/cacerts
-Djavax.net.ssl.trustStorePassword=changeit

注意:如果您使用的是 STS,请按照此答案查找.ini文件。

  1. 重新启动 Eclipse。
于 2021-08-13T16:45:08.163 回答
0

您可能应该创建证书并使用 keytool 将其导入默认密钥库。我不确定您要对您的应用程序做什么,但它应该能够使用该证书。

于 2009-03-26T01:37:18.023 回答
0
sudo  keytool -import  -file /Users/balaji-pt2176/Desktop/Apple\ Worldwide\ Developer\ Relations\ Certification\ Authority.cer  -keystore /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/security/cacerts

在麦克

于 2018-08-29T06:16:28.517 回答