我确实想将自签名证书导入Java,因此任何尝试建立SSL连接的Java应用程序都将信任此证书。
到目前为止,我设法将其导入
keytool -import -trustcacerts -noprompt -storepass changeit -alias $REMHOST -file $REMHOST.pem
keytool -import -trustcacerts -noprompt -keystore cacerts -storepass changeit -alias $REMHOST -file $REMHOST.pem
不过,当我尝试运行时HTTPSClient.class
,仍然会得到:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
在Windows上,最简单的方法是使用程序portecle。
在Linux上:
你可以从已经使用它的Web服务器上下载SSL证书,如下所示:
$ echo -n | openssl s_client -connect www.example.com:443 | \
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/examplecert.crt
(可选)验证证书信息:
$ openssl x509 -in /tmp/examplecert.crt -text
将证书导入到Java cacerts密钥库中:
$ keytool -import -trustcacerts -keystore /opt/java/jre/lib/security/cacerts \
-storepass changeit -noprompt -alias mycert -file /tmp/examplecert.crt
问题内容: 在Java Web服务客户端的开发过程中,我遇到了一个问题。Web服务的身份验证使用客户端证书,用户名和密码。我从Web服务背后的公司那里收到的客户证书采用格式。当我使用文本编辑器检查文件时,它具有以下内容: 我可以在Internet Explorer中将该文件作为证书导入(无需输入密码!),并使用它通过Web服务进行身份验证。 通过首先剥离第一行和最后一行,转换为换行符并运行base
我试图让一个运行在Tomcat 6之上的应用程序通过SSL连接到LDAP服务器。 我使用以下方法将服务器的证书导入密钥库: 当我用SSL调试打开启动Tomcat时,根据日志Tomcat正在使用正确的证书文件: 但是,Tomcat没有添加我刚刚导入的证书——cacerts文件中的所有其他证书都会打印到日志中——并且连接失败: 重启Tomcat没有帮助。我已经用keyool-list命令验证了新的证书
问题内容: 我在配置中有这个: 我有一对X.509证书和一个密钥文件。 如何导入这两个以便在SSL和连接器中使用它们?我可以用google搜索的所有示例始终都会自己生成密钥,但是我已经有了密钥。 我试过了 但这只会导入证书而不是密钥文件,并导致 我已经尝试连接证书和密钥,但是得到了相同的结果。 如何导入密钥? 问题答案: 我使用了以下两个步骤,这些步骤是在其他答案中链接的评论/帖子中找到的: 第一
我只使用自签名证书进行测试。 问题: Q1.我想知道为什么我需要在步骤6中将服务器和客户端自己的证书添加到各自的信任库中。 2.创建x509证书 openssl req-x509-new-nodes-key diagserverca.key-sha256-days 1024-out diagserverca.pem 3.从私钥和公共证书创建PKCS12密钥存储库。 keytool-importke
null 大多数示例使用makecert或New-SelfSignedCertificate创建证书。在这种情况下,对于生产应用程序,自签名证书是否有问题?这仅供应用程序使用Azure Key Vault进行身份验证,客户机在浏览器中不会看到这一点。 如果在这种情况下,自签名证书仍然不受欢迎,那么从受信任的权威机构购买证书是否与购买SSL/TLS证书的过程相同?甚至是同一类型的证书吗?