在项目开发中,有时会遇到与SSL安全证书导入打交道的,如何把证书导入java中的cacerts证书库呢?
其实很简单,方法如下:
每一步:进入某个https://www.xxx.com开头的网站,把要导入的证书下载过来,
在该网页上右键 >> 属性 >> 点击"证书" >>
再点击上面的"详细信息"切换栏 >>
再点击右下角那个"复制到文件"的按钮
就会弹出一个证书导出的向导对话框,按提示一步一步完成就行了。
例如:保存为abc.cer,放在C盘下
第二步:如何把上面那步的(abc.cer)这个证书导入java中的cacerts证书库里?
方法如下
假设你的jdk安装在C:\jdk1.5这个目录,
开始 >> 运行 >> 输入cmd 进入dos命令行 >>
再用cd进入到C:\jdk1.5\jre\lib\security这个目录下
敲入如下命令回车执行
keytool -import -alias cacerts -keystore cacerts -file d:\software\AKAZAM-Mail.cer
此时命令行会提示你输入cacerts证书库的密码,
你敲入changeit就行了,这是java中cacerts证书库的默认密码,
你自已也可以修改的。
导入后用-list查看(没有使用-alias指定别名,所以是mykey),其中md5会和证书的md5对应上。
mykey, 2012-10-26, trustedCertEntry,
认证指纹 (MD5): 8D:A2:89:9A:E4:17:07:0B:BD:B0:0C:36:11:39:D0:3D
ok,大功告成!
以后更新时,先删除原来的证书,然后导入新的证书
keytool -list -keystore cacerts
keytool -delete -alias akazam_email -keystore cacerts
keytool -import -alias akazam_email -file akazam_email.cer -keystore cacerts
自定义文件和密码路径,还没有验证:
Define the TrustStore using the JAVA_OPTS variable on the Stash Server:
You will have to do the following:
On Windows:
JAVA_OPTS = -Djavax.net.ssl.trustStore="%JAVA_HOME%\jre\lib\security\cacerts" -Djavax.net.ssl.trustStorePassword="changeit"
On Linux:
JAVA_OPTS = -Djavax.net.ssl.trustStore="$JAVA_HOME/jre/lib/security/cacerts" -Djavax.net.ssl.trustStorePassword="changeit"
(info) On my local instance trustStore password is changeit so I belive, if you didn´t changed it, your is changeit as well.
tomcat、junit运行时会从默认路径加载cacerts文件,如果main函数直接运行需要指定javax.net.ssl.trustStore文件路径,比如:
java -Djavax.net.ssl.trustStore=$JAVA_HOME/jre/lib/security/cacerts -jar XXX.jar &
注意JAVA_HOME设置中如果有空格,会java执行错误,可以把环境变量JAVA_HOME中C:\Program Files缩写为C:\Progra~1
分享到:
相关推荐
以上就是关于“如何把HTTPS网站中的安全证书导入到Java的cacerts证书库”的主要知识点。通过这个过程,我们可以解决因Java不信任特定证书而引发的连接问题,确保应用程序能够正常访问需要的HTTPS服务。在实际的开发...
如果担心证书库不全,可以直接从Azure下载完整的证书库,然后使用`keytool`的`importcert`命令将你的证书导入到这个库中。 对于.NET环境下的证书加载,虽然不在Java的范畴内,但Azure也提供了相应的指导文档,详情...
此时,我们需要将自签名的证书导入到JDK的信任证书库中。 导出服务器证书: ```bash keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass changeit ``` 接着,将...
在这种情况下,我们需要手动将缺失的证书导入到JDK的证书库中。以下是一个详细的教程,解释如何在JAVA中导入Wosign证书来解决此类问题。 **问题描述:** 当Java程序尝试通过HTTPS连接到使用Wosign根证书签名的服务...
安装证书的关键步骤是通过`keytool`命令将证书导入到JDK的证书库中。具体的命令行格式如下: ```shell keytool -keystore "C:\Program Files\Java\jdk1.8.0_71\jre\lib\security\cacerts" -importcert -alias ...
这种情况下,需要将自签名证书导入到Java的信任存储中,才能避免安全警告。 3. **证书的信任管理**:Java提供了`keytool`命令行工具来管理信任存储。可以添加、删除或更新信任的根证书。此外,也可以通过`cacerts`...
下面是使用 KeyTool 的详细指南,包括创建密钥对、导出证书、将证书导入 Java 信任证书库等内容。 生成密钥对 KeyTool 提供了生成密钥对的功能,用于创建数字证书。可以使用以下命令生成密钥对: `keytool -...
因此,必须将客户端证书添加到服务器的信任证书库中。由于服务器通常不接受PKCS12格式的证书库,所以需要将客户端证书导出为CER文件格式,然后导入服务器的keystore。 在操作过程中需要注意正确使用命令参数,保证...
这个问题的根本原因是Java的信任存储(通常是JKS格式的证书库,默认位于$JAVA_HOME/lib/security/cacerts文件中)中没有包含服务器证书的根CA证书,或者服务器证书本身不是由受信任的CA签发,或者证书链不完整。...
4. **导入证书到Java的cacerts信任证书库**:Java的 cacerts 文件是系统默认的信任证书库,包含了一系列预信任的证书颁发机构(CA)的根证书。为了让客户端信任服务器,我们需要将服务器的公钥证书导入到这个信任库...
这通常涉及到将新的证书导入到`cacerts`文件中,这个文件通常位于Java的`jre/lib/security`目录下。 2. **临时信任特定的证书**:如果只是临时需要连接到某个服务器,可以使用Java的命令行选项`-Djavax.net.ssl....
接下来,我们将公钥导入JDK的证书库,使其成为受信任的证书: 1. 打开命令行窗口,使用`keytool`工具,该工具通常位于JDK的bin目录下。在Windows环境下,假设JDK安装在`C:\Program Files\Java\jdk1.8.0_144`,则...
接下来,需要将证书文件导入到Java的证书库(cacerts)中,使得Java应用能够识别这个自签名证书。操作步骤如下: 1. 将证书文件复制到JDK安装目录下的`jre/lib/security`目录中,路径可能因不同的操作系统和JDK版本...
2. **导入证书到JRE的可信证书库**:将导出的证书导入到Java运行环境(JRE)的可信证书库中。 ```bash keytool -import -trustcacerts -alias tomcat -file server.cer -keystore D:\Java\jdk1.7.0_05\jre\lib\...
最后,导出这个证书并导入到JRE的信任证书库中。 ```shell keytool -delete -alias tomcatsso -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit keytool -genkey -keyalg RSA -alias tomcatsso...
接下来,需要将生成的服务器证书导入到JVM的信任证书库中。默认情况下,JVM使用`cacerts`文件来存储信任的证书。命令如下: ``` keytool -import -keystore D:/jdk1.5.0_12/jre/lib/security/cacerts -file c:/store...
本文详细介绍了CAS单点登录的基本概念以及如何在Tomcat环境中实现CAS单点登录的相关操作,包括证书生成、导入、TOMCAT配置SSL支持等方面的知识点。通过这些步骤,可以帮助用户更好地理解和掌握CAS单点登录的实现过程...