code_junkie

How do you programatically authenticate to a web server using NTLM Authentication with apache's commons httpclient?

Nov 11th, 2011
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.46 KB | None | 0 0
  1. HttpClient client = null;
  2. HttpMethod get = null;
  3. try
  4. {
  5. Protocol myhttps = new Protocol("https", ((ProtocolSocketFactory) new EasySSLProtocolSocketFactory()), 443);
  6. Protocol.registerProtocol("https", myhttps);
  7. client = new HttpClient();
  8. get = new GetMethod("https://tt.dummycorp.com/tmtrack/");
  9. Credentials creds = new NTCredentials("dummy", "dummy123", "host", "DUMMYDOMAIN");
  10. client.getState().setCredentials(AuthScope.ANY, creds);
  11. get.setDoAuthentication(true);
  12. int resultCode = client.executeMethod(get);
  13. System.out.println(get.getResponseBodyAsString());
  14. }
  15.  
  16. javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed
  17. at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
  18. at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1591)
  19. at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:187)
  20. at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:181)
  21. at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:975)
  22. at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:123)
  23. at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:516)
  24. at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:454)
  25. at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:884)
  26. at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1096)
  27. at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:623)
  28. at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
  29. at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
  30. at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
  31. at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:828)
  32. at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2116)
  33. at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
  34. at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
  35. at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
  36. at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
  37. at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
  38. at com.dummycorp.teamtrack.TeamTrackHack.main(TeamTrackHack.java:38)
  39. Caused by: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed
  40. at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:251)
  41. at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:234)
  42. at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:158)
  43. at sun.security.validator.Validator.validate(Validator.java:218)
  44. at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
  45. at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
  46. at org.apache.commons.httpclient.contrib.ssl.EasyX509TrustManager.checkServerTrusted(EasyX509TrustManager.java:104)
  47. at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:967)
  48. ... 17 more
  49. Caused by: java.security.cert.CertPathValidatorException: signature check failed
  50. at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:139)
  51. at sun.security.provider.certpath.PKIXCertPathValidator.doValidate(PKIXCertPathValidator.java:316)
  52. at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:178)
  53. at java.security.cert.CertPathValidator.validate(CertPathValidator.java:250)
  54. at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:246)
  55. ... 24 more
  56. Caused by: java.security.SignatureException: Signature does not match.
  57. at sun.security.x509.X509CertImpl.verify(X509CertImpl.java:446)
  58. at sun.security.provider.certpath.BasicChecker.verifySignature(BasicChecker.java:133)
  59. at sun.security.provider.certpath.BasicChecker.check(BasicChecker.java:112)
  60. at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:117)
  61. ... 28 more
Add Comment
Please, Sign In to add comment