`
WOYEYOUMING
  • 浏览: 5331 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

CAS https 客户端请求服务端ticket 验证保存

阅读更多
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












分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics