如何将java创建的SSL证书导入Eclipse中的项目?
答案 0 :(得分:36)
您可能希望在JRE的trustcacerts中导入“假”SSL证书,以避免出现无效证书问题。不是吗?
正如乔恩所说,你可以用keytool:
完成这项工作keytool
-import
-alias <provide_an_alias>
-file <certificate_file>
-keystore <your_path_to_jre>/lib/security/cacerts
询问时使用“changeit”作为默认密码(thanks Brian Clozel)。确保在服务器上使用此运行时或启动配置。
答案 1 :(得分:7)
如果您的 Windows 证书存储中已有证书(这在使用 MITM 证书的公司部署中很常见),您还可以使用以下步骤(在 another Stackoverflow answer with more detailed explaination 的帮助下):
在 Eclipse 安装中找到 eclipse.ini
文件并打开它
在 -vmargs
行下方,添加以下几行,然后保存文件:
-Djavax.net.ssl.trustStore=NUL
-Djavax.net.ssl.trustStoreType=Windows-ROOT
答案 2 :(得分:2)
有一个更好的工具可以完成这项工作。
当您运行(在Windows中以管理员身份运行,以保存对系统的更改,在Linux中为sudo等)应用程序(具有Win / Mac / Linux的安装程序)时,有一个内置功能可以编辑系统的cacerts文件:
文件->特殊打开->打开CA证书
还,您已经拥有证书文件,可以转到:
工具->导入可信证书
OR ,您需要从服务器下载证书;转到:
检查->检查SSL
从那里输入主机名,然后单击确定。它将弹出一个窗口,显示证书详细信息。在该窗口的底部,有一个“导入”按钮,可让您直接将其导入cacerts。
确保保存并关闭cacerts,然后重新启动eclipse /应用程序以使设置生效。
答案 3 :(得分:1)
我们需要导入证书意味着我们需要使用:
keytool
-importcert
-file <certificate_location>
-keystore <jre_location\lib\security\cacerts>
-alias "<cert_name>"
它会要求输入密码。输入密码为changeit
Type Password : changeit
最后它会要求添加{yes / no}:
输入yes。
注意:不要在位置路径中给出空白
答案 4 :(得分:1)
如果您具有默认的Java设置并提供了Java类路径,则必须将Java Truststore用于SSL证书。
为此,您可以按照以下步骤将证书导入信任库:
user \ Java \ jre1.8.0_221 \ bin
user \ Java \ jre1.8.0_221 \ bin
Path to Java default Trust store
现在,您可以运行以下命令来查看此信任存储的内容:
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
您现在可以根据需要将任何证书添加到Trust存储中:
JRE_HOME / bin / keytool-导入-trustcacerts -alias certAlias-文件certFile -keystore trustStoreFile
答案 5 :(得分:0)
您应该创建证书并使用keytool将其导入默认密钥库。我不确定您要对您的应用程序做什么,但它应该能够使用该证书。
答案 6 :(得分: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
在Mac上