Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- xxxx.azurewebsites.net, 3-feb-2016, trustedCertEntry,
- Certificate fingerprint (SHA1): 64:43:73:30:97:B0:DE:9D:FB:7A:79:51:9D:D7:07:73:40:6E:F1:6B
- public static void main(String[] args) throws Exception {
- HandshakeTest test = new HandshakeTest();
- test.connect();
- }
- private void connect() throws Exception {
- System.out.println("Starting to connect");
- boolean persistent = false;
- String username = "xx";
- String password = "xx";
- String bootstrapToken = "xx";
- Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("lovely.com", 8080));
- try {
- URL url = new URL("https://xxxx.azurewebsites.net/api/xxx/v1/login");
- HttpsURLConnection conn = (HttpsURLConnection) url.openConnection(proxy);
- conn.setSSLSocketFactory(getFactory());
- String encoded = new String(Base64.encodeBase64(new String("ohlala:wow").getBytes()));
- conn.setRequestProperty("Proxy-Authorization", "Basic " + encoded);
- conn.setDoOutput(true);
- conn.setRequestMethod("PUT");
- conn.setRequestProperty("Content-Type", "application/json");
- String input = String.format(
- "{"authorizationToken":"%s","persistent": %b, "username":"%s" ,"password":"%s"}",
- bootstrapToken, persistent, username, password);
- OutputStream os = conn.getOutputStream();
- os.write(input.getBytes());
- os.flush();
- if (conn.getResponseCode() != HttpURLConnection.HTTP_NO_CONTENT) {
- throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
- }
- BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
- String output;
- System.out.println("Output from Server .... n");
- while ((output = br.readLine()) != null) {
- System.out.println(output);
- }
- conn.disconnect();
- System.out.println("Post Token went well");
- } catch (MalformedURLException e) {
- System.out.println("postToken() error " + e);
- e.printStackTrace();
- } catch (IOException e) {
- System.out.println("postToken() error ");
- e.printStackTrace();
- }
- }
- private SSLSocketFactory getFactory() throws Exception {
- // the KEY
- KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("SunX509");
- InputStream keyInput = getClass().getResourceAsStream("/xxxxapi.p12");
- KeyStore keyStore = KeyStore.getInstance("PKCS12");
- keyStore.load(keyInput, "xxxx".toCharArray());
- keyInput.close();
- keyManagerFactory.init(keyStore, "xxxx".toCharArray());
- KeyManager[] kms = keyManagerFactory.getKeyManagers();
- SSLContext context = SSLContext.getInstance("TLS");
- context.init(keyManagerFactory.getKeyManagers(), null, new SecureRandom());
- //
- KeyStore trustStore = KeyStore.getInstance("JKS");
- InputStream storeInput = getClass().getResourceAsStream("/cacerts");
- trustStore.load(storeInput, "changeit".toCharArray());
- TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
- tmf.init(trustStore);
- TrustManager[] tms = tmf.getTrustManagers();
- SSLContext sslContext = null;
- sslContext = SSLContext.getInstance("TLS");
- sslContext.init(kms, tms, new SecureRandom());
- return context.getSocketFactory();
- }
- 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 sun.security.ssl.Alerts.getSSLException(Unknown Source)
- at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)
- at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
- at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
- at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source)
- at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
- at sun.security.ssl.Handshaker.processLoop(Unknown Source)
- at sun.security.ssl.Handshaker.process_record(Unknown Source)
- at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
- at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
- at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
- at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
- at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
- at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
- at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(Unknown Source)
- at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
- at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Unknown Source)
- at com.nuon.cs.is.nuonxx.security.filter.HandshakeTest.connect(HandshakeTest.java:65)
- at com.nuon.cs.is.nuonxx.security.filter.HandshakeTest.main(HandshakeTest.java:32)
- 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(Unknown Source)
- at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
- at sun.security.validator.Validator.validate(Unknown Source)
- at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source)
- at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source)
- at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
- ... 15 more
- Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
- at sun.security.provider.certpath.SunCertPathBuilder.build(Unknown Source)
- at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
- at java.security.cert.CertPathBuilder.build(Unknown Source)
- ... 21 more
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement