在weblogic部署的osb服务是单向验证,也就是说server向client发送证书,而client不用向server发送。
java client只修改要访问带SSL验证的的uri:
PostMethod post = new PostMethod(
"https://10.24.16.26:7002/ManagePhysicalInventoryConsumerProject/ManagePhysicalInventoryConsumerProxyService/requestPhysicalInventory");
由于是单向验证,client不用修改其他东西,以前是怎么访问http的,现在就怎么访问https。
跑了一遍后,报了异常,关键的一句话在unable to find valid certification path to requested target。
无法找到有效的、对请求目标的证书。
也就是说,server把证书给了我的client,client却无法找到。看来,至少对java来说,单向验证,并不是说client什么都不用干。(听项目组里一个C++同事说,C++似乎可以不干别的事。。。)
现在等于说,
还是得把server的证书加入到client的truststore里。
方法1:为client再建立一个truststore,把server证书放在truststore里,然后去load这个store。有点麻烦,因为要改client代码。这里不写了,大家都知道怎么写。
方法2:
找了个简单的办法:
首先得到server证书:去访问https://10.24.16.26:7002(你需要SSL的服务的地址),然后会弹出个对话框:
点查看证书,然后点详细信息,然后复制到文件,格式选择der编码二进制 X.509,然后下一步,选择个路径文件名,这个证书就被保存到本地了。
现在,打开CMD,到JRE路径下的\lib\security并且把刚保存的证书也copy到这个目录下
输入命令如下:
(上边的命令需要知道server证书的别名)
cacerts这个文件,是jre的truststore,是全局的,而不是针对单个工程的。所以说,把server证书加进cacerts,那么在本jre环境下运行的所有java程序都是信任这个证书的。
这俩方法各有优点:
方法1代码要增加,但是却移植性很好。
方法2代码不用改,把业务和安全完全分开了,而且由于是全局信任,适用多个工程,移植性却不好。
- 大小: 11.6 KB
- 大小: 1.6 KB
分享到:
相关推荐
分析: 当在Java中使用URL.openConnection().connect()方法进行HTTPS请求时,如果遇到PKIX path building failed... 参考资源中《验证证书unable to find valid certification path to requested target问题解决.txt》
正确地配置和管理信任链可以确保系统的安全性,同时避免出现“unable to find valid certification path to requested target”的错误。在实际操作中,应始终优先考虑增强安全性,而非简单地绕过证书验证。对于...
##ERROR: Cause: unable to find valid certification path to requested target终极解决方法 各位兄弟,觉得我的方法有用,可以赞我一下的呦 如果你是和我一样安装完Android studio,运行第一个Android程序,发现...
参考: ...目录 一、更改镜像 二、手动将需要的插件和依赖下载放到本地厂库 三、下载阿里网站的资格证书,安装到jdk 四、设置maven的VM属性,这个...从https://start.spring.io/生成的spring boot项目,报错unable to f
在Android开发过程中,开发者可能会遇到各种各样的错误,其中之一就是" Cause: unable to find valid certification path to requested target "。这个错误通常发生在Android Studio尝试访问一个受信任的证书链无法...
手抖了一下,把AS升级到了最新版本,然后就悲剧了,公司的项目跑不起来,提示“unable to find valid certification”,新建项目也是一样的提示。之前总结的解决方案都用了,没一个好使的,经过两个下午的折腾,终于...
Studio升级3.5报unable to find valid certification path to requested target 解决证书问题
解决Android Studio Cause: unable to find valid certification path to requested target问题所需要证书。具体安装方法请参考https://blog.csdn.net/wanghaifeng068/article/details/99935593
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
解决方法: ... sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
5.1、解决报错:unable to find valid certification path to requested target。 5.2、解决报错:Server returned HTTP response code: 403 for URL。 若下载下来有合并需求的,可以看下合并工具:...
"InstallCert.zip"这个文件和其描述"mvn PKIX path building failed: 进行中央库授权, unable to find valid certification path to requested target"揭示了一个常见的问题:在使用Maven进行构建时,由于缺少信任...
unable to find valid certification path to requested target 处理这种情况的常用 Java 方法是下载站点证书,将其导入密钥库并通过-Djavax.net.ssl.trustStore=... JVM 选项使用该密钥库。 有时
demo项目sync报错unable to find valid certification path to requested target:修改项目级gradle里指定的IDE版本com.android.tools.build:gradle:x.x.x成自己的,然后把阿里云的链接换成google()和jcenter(),...
unable to find valid certification path to requested target ``` 这个错误表明Java在尝试建立SSL/TLS连接时无法验证服务器提供的证书。这通常是由于缺少正确的中间证书或根证书,或者这些证书没有正确安装在Java...
这个错误的主要原因是ValidatorException:PKIX path building failed : sun.security.provider.certpath.SunCertPathBuilderException : unable to find valid certification path to requested target。...
当Java程序尝试通过HTTPS连接到使用Wosign根证书签名的服务时,如Azure的REST API,可能会收到错误信息“PKIX:unable to find valid certification path to requested target”。这是因为Java的标准JRE库(JDK)的...
- 如果遇到“unable to find valid certification path to requested target”错误,检查`JAVA_HOME`是否指向正确的JDK,并且证书已正确导入`cacerts`。 7. **单点登录和单点退出**: - 单点登录允许用户登录一次...
具体表现为:“PKIX:unable to find valid certification path to requested target”。这是因为Java应用程序在进行HTTPS请求时,会依赖JDK自带的信任根证书来验证服务端证书的有效性。如果服务端所使用的根证书...