Advertisement
Guest User

Untitled

a guest
Feb 3rd, 2016
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.79 KB | None | 0 0
  1. xxxx.azurewebsites.net, 3-feb-2016, trustedCertEntry,
  2. Certificate fingerprint (SHA1): 64:43:73:30:97:B0:DE:9D:FB:7A:79:51:9D:D7:07:73:40:6E:F1:6B
  3.  
  4. public static void main(String[] args) throws Exception {
  5.  
  6. HandshakeTest test = new HandshakeTest();
  7.  
  8. test.connect();
  9. }
  10.  
  11. private void connect() throws Exception {
  12.  
  13. System.out.println("Starting to connect");
  14.  
  15. boolean persistent = false;
  16. String username = "xx";
  17. String password = "xx";
  18. String bootstrapToken = "xx";
  19.  
  20. Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("lovely.com", 8080));
  21.  
  22. try {
  23.  
  24. URL url = new URL("https://xxxx.azurewebsites.net/api/xxx/v1/login");
  25.  
  26. HttpsURLConnection conn = (HttpsURLConnection) url.openConnection(proxy);
  27.  
  28. conn.setSSLSocketFactory(getFactory());
  29.  
  30. String encoded = new String(Base64.encodeBase64(new String("ohlala:wow").getBytes()));
  31. conn.setRequestProperty("Proxy-Authorization", "Basic " + encoded);
  32.  
  33. conn.setDoOutput(true);
  34. conn.setRequestMethod("PUT");
  35. conn.setRequestProperty("Content-Type", "application/json");
  36.  
  37. String input = String.format(
  38. "{"authorizationToken":"%s","persistent": %b, "username":"%s" ,"password":"%s"}",
  39. bootstrapToken, persistent, username, password);
  40.  
  41. OutputStream os = conn.getOutputStream();
  42. os.write(input.getBytes());
  43. os.flush();
  44.  
  45. if (conn.getResponseCode() != HttpURLConnection.HTTP_NO_CONTENT) {
  46. throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
  47. }
  48.  
  49. BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
  50.  
  51. String output;
  52. System.out.println("Output from Server .... n");
  53. while ((output = br.readLine()) != null) {
  54. System.out.println(output);
  55. }
  56.  
  57. conn.disconnect();
  58.  
  59. System.out.println("Post Token went well");
  60.  
  61. } catch (MalformedURLException e) {
  62.  
  63. System.out.println("postToken() error " + e);
  64.  
  65. e.printStackTrace();
  66.  
  67. } catch (IOException e) {
  68.  
  69. System.out.println("postToken() error ");
  70. e.printStackTrace();
  71.  
  72. }
  73.  
  74. }
  75.  
  76. private SSLSocketFactory getFactory() throws Exception {
  77.  
  78. // the KEY
  79. KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("SunX509");
  80.  
  81. InputStream keyInput = getClass().getResourceAsStream("/xxxxapi.p12");
  82.  
  83. KeyStore keyStore = KeyStore.getInstance("PKCS12");
  84. keyStore.load(keyInput, "xxxx".toCharArray());
  85. keyInput.close();
  86.  
  87. keyManagerFactory.init(keyStore, "xxxx".toCharArray());
  88. KeyManager[] kms = keyManagerFactory.getKeyManagers();
  89.  
  90. SSLContext context = SSLContext.getInstance("TLS");
  91. context.init(keyManagerFactory.getKeyManagers(), null, new SecureRandom());
  92.  
  93. //
  94. KeyStore trustStore = KeyStore.getInstance("JKS");
  95.  
  96. InputStream storeInput = getClass().getResourceAsStream("/cacerts");
  97.  
  98. trustStore.load(storeInput, "changeit".toCharArray());
  99.  
  100. TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
  101. tmf.init(trustStore);
  102. TrustManager[] tms = tmf.getTrustManagers();
  103.  
  104. SSLContext sslContext = null;
  105. sslContext = SSLContext.getInstance("TLS");
  106. sslContext.init(kms, tms, new SecureRandom());
  107.  
  108. return context.getSocketFactory();
  109. }
  110.  
  111. 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
  112. at sun.security.ssl.Alerts.getSSLException(Unknown Source)
  113. at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)
  114. at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
  115. at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
  116. at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source)
  117. at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
  118. at sun.security.ssl.Handshaker.processLoop(Unknown Source)
  119. at sun.security.ssl.Handshaker.process_record(Unknown Source)
  120. at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
  121. at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
  122. at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
  123. at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
  124. at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
  125. at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
  126. at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(Unknown Source)
  127. at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
  128. at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Unknown Source)
  129. at com.nuon.cs.is.nuonxx.security.filter.HandshakeTest.connect(HandshakeTest.java:65)
  130. at com.nuon.cs.is.nuonxx.security.filter.HandshakeTest.main(HandshakeTest.java:32)
  131.  
  132. Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
  133. at sun.security.validator.PKIXValidator.doBuild(Unknown Source)
  134. at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
  135. at sun.security.validator.Validator.validate(Unknown Source)
  136. at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source)
  137. at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source)
  138. at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
  139. ... 15 more
  140.  
  141. Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
  142. at sun.security.provider.certpath.SunCertPathBuilder.build(Unknown Source)
  143. at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
  144. at java.security.cert.CertPathBuilder.build(Unknown Source)
  145. ... 21 more
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement