相关疑难解决方法(0)

在Java客户端中接受服务器的自签名ssl证书

它看起来像一个标准问题,但我无法在任何地方找到明确的方向.

我有java代码尝试连接到可能具有自签名(或过期)证书的服务器.代码报告以下错误:

[HttpMethodDirector] I/O exception (javax.net.ssl.SSLHandshakeException) caught 
when processing request: sun.security.validator.ValidatorException: PKIX path 
building failed: sun.security.provider.certpath.SunCertPathBuilderException: 
unable to find valid certification path to requested target
Run Code Online (Sandbox Code Playgroud)

据我了解,我必须使用keytool并告诉java允许这种连接是可以的.

解决此问题的所有说明都假设我完全熟练使用keytool,例如

为服务器生成私钥并将其导入密钥库

有没有人可以发布详细说明?

我正在运行unix,所以bash脚本最好.

不确定它是否重要,但代码是在jboss中执行的.

java ssl https keytool

198
推荐指数
5
解决办法
29万
查看次数

如何在jar中使用javax.net.ssl.keystore中的文件?

我正在尝试做类似的事情

URL clientks = com.messaging.SubscriptionManager.class.getResource( "client.ks" );
String path = clientks.toURI().getPath();
System.setProperty( "javax.net.ssl.keyStore", path);
Run Code Online (Sandbox Code Playgroud)

其中client.ks是存储在我正在运行的jar文件中的com/messaging中的文件.

读取javax.net.ssl.keyStore的东西需要一个到jar中的client.ks文件的路径.如果可能的话,我宁愿不提取文件并放入客户端的机器上.那么可以在jar中引用一个文件吗?

这不起作用,因为getPath()返回null.还有另一种方法吗?

java jar executable-jar

15
推荐指数
3
解决办法
2万
查看次数

在同一JVM上设置多个信任库

我有一个在weblogic服务器上运行的Java应用程序.该应用程序有两个不同的模块,使用SSL连接到外部Web服务 - 比如模块A和模块B.

模块A - 基于Axis构建 - 使用信任库A Moudle B - 基于Spring-ws构建 - 使用信任库B.

模块A存在.正在介绍模块B.

我需要能够根据调用的模块在JVM中动态设置信任库.

由于某些限制,我没有选项 - 创建自定义密钥管理器. - 使用一个信任库

我尝试使用System.setProperty im Module B codebase来设置truststore.但是,仅当模块B首先被调用时才有效.例如 - 假设我重新启动JVM然后调用模块A - 它在JVM中设置它自己的信任库然后我调用模块B - 它失败 - 它没有在JVM中设置它自己的信任库,即使我已经使用过System.setProperty方法.

我错过了什么,或者只是System.setProperty不会覆盖现有的设置值.如果是这样,我的选择是什么.

java ssl jsse keystore truststore

8
推荐指数
1
解决办法
1万
查看次数

具有自签名证书的OpenID Over SSL

我在个人服务器上设置了自己的开放ID提供程序,并在我的apache配置文件中添加了重定向到https.当不使用安全连接时(当我禁用重定向时)我可以正常登录,但是使用重定向我无法使用此错误消息登录:

底层连接已关闭:无法为SSL/TLS安全通道建立信任关系.

我猜这是因为我使用的是自签名证书.

任何人都可以确认自签名证书是否是问题?如果不是,任何人都有任何想法是什么问题?

openid ssl ssl-certificate

7
推荐指数
2
解决办法
4220
查看次数