public static void main(String[] args) throws Exception {
//serverkeys是通过keytool生成的自己的证书
System.setProperty( "javax.net.ssl.trustStore", "C:\\Program Files\\Java\\jdk1.5.0_05\\jre\\lib\\security\\cacerts");
System.setProperty( "javax.net.ssl.trustStorePassword", "changeit");
//connect to https https://www.sun.com
URL url = new URL("https://localhost:8443/cas/serviceValidate?service=https%3A%2F%2Flocalhost%3A8443%2FTest%2F&ticket=ST-1-v0dwVSgdfwGVpFySbzSr&");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod( "POST");
connection.setDoOutput(true);
connection.setDoInput(true);
System.out.println( "1--Conected to "+ connection.toString());
// DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
// byte[] rr = new byte[dos.size()];
// dos.write(rr,0,rr.length);
// dos.flush();
// String ss = new String(rr);
// System.out.println("2-----"+ss);
StringBuffer outbuff = new StringBuffer();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
outbuff.append(line);
}
in.close();
System.out.println( "3---Test : " + outbuff.toString());
}
报错如下:
1--Conected to sun.net.www.protocol.https.DelegateHttpsURLConnection:https://localhost:8443/cas/serviceValidate?service=https%3A%2F%2Flocalhost%3A8443%2FTest%2F&ticket=ST-1-v0dwVSgdfwGVpFySbzSr&
Exception in thread "main" 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
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:150)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1476)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:174)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:168)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:847)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:106)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:495)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:433)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:815)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1025)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1038)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:405)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:170)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:913)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
at org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.main(AbstractCasProtocolUrlBasedTicketValidator.java:153)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:221)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:145)
at sun.security.validator.Validator.validate(Validator.java:203)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:172)
at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(SSLContextImpl.java:320)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:840)
... 11 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:236)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:194)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:216)
... 16 more
分享到:
相关推荐
cas4.2.7服务端+cas客户端+示例程序+环境搭建之客户端war包 一切跑不起来的程序和走不通的教程都是耍流氓,二话不说,先按照我的步骤把程序跑起来在说吧。 请看博客...
Yale CAS实现单点登陆的客户端源码和服务端源码,客户端cas-client-3.1.10代码和cas-server-3.4.2.1代码
包含cas源码、cas使用说明文档(包含配置信息)、连接数据库所需jar包、cas服务端自定义返回值等
[置顶] SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析 http://blog.csdn.net/ae6623/article/details/8848107 目 录 1 引言 4 1.1 摘要 4 1.2 范围 4 1.3 读者对象 4 1.4 关键词 4 2 ...
CAS客户端获取用户保存至sessionUser
cas代码及其相关内容,代码内有注释,方便理解,简单配置直接运行,需要先配好证书
SSO之CAS单点登录客户端服务端jar包,希望对你们有帮助。
CAS 是 Central Authentication Service 的缩写 —— 中央认证服务,一种独立开放指令协议,是 Yale 大学发起的一个企业级开源项目,旨在为 Web 应用系统提供一种可靠的 SSO 解决方案。 CAS 支持以下特性: CAS v1, ...
基于springboot,cas,shiro,pac4j,实现cas rest接口获取ticket,不再跳转cas server登录页
cas4.2.7服务端+cas客户端+示例程序+环境搭建之服务端war包 请看博客:http://blog.csdn.net/pucao_cug/article/details/70182968 该war文件是cas4.2.7的服务端的war包。服务端 的war内我已经对WEB-INF文件夹中的web...
CAS4.1.4服务端和客户端实例,直接修改配置即可运行,详细参见博文:http://blog.csdn.net/chenhai201/article/details/50623395
cas .net客户端的配置代码 CAS 与_net 集成的 “循环重定向”问题分析 - 邢少 - 博客园.mht根本不行的。 我自己另外找的一段代码
CAS客户端跳过https验证
单点登录 客户端到服务端 1首先要有一个网站的地址 server 处理登陆请求 。 2要有一个返回地址 returnedurl 3 应用的id 到底是从哪个应用来介入的。 4授权凭证 所有信息是可见的。所以可能有安全问题?数据如何...
包括CAS服务器端war包和CAS两个客户端war包,用于单点登录cas实例的部署
cas的客户端cas的客户端cas的客户端cas的客户端cas的客户端cas的客户端
cas服务端和客户端可用代码,数据库是直接查询mysql 自定义。客户端是spring boot项目。直接运行可用
本地widows7操作系统实现单点登录服务端加客户端。需要配置https请自行百度
解压文件,将文件放在tomcat的webapps文件夹下,启动tomcat,即可访问
cas单点登录的例子