Advertisement
Guest User

Untitled

a guest
Jul 29th, 2016
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
  2. keyManagerFactory.init(privateKey, keystorePassword);
  3.  
  4. TrustManager tm = new X509TrustManager() {
  5. public void checkClientTrusted(X509Certificate[] chain, String authType)
  6. throws CertificateException {
  7. }
  8.  
  9. public void checkServerTrusted(X509Certificate[] chain, String authType)
  10. throws CertificateException {
  11. if (chain == null || chain.length != 1)
  12. throw new CertificateException("Chain Length Not Correct");
  13.  
  14. X509Certificate partnerCert = chain[0];
  15.  
  16. try {
  17. java.security.cert.Certificate storedCert = trustedKeys.getCertificate(partnerAlias);
  18.  
  19. if (storedCert == null || !storedCert.equals(partnerCert)) {
  20. if (prompt(...)) {
  21. addTrustedCertificate(partnerCert);
  22. }
  23. else {
  24. throw new CertificateException("Certificate rejected");
  25. }
  26. }
  27. } catch (KeyStoreException e) {
  28. e.printStackTrace();
  29. throw new CertificateException("KeystoreException");
  30. } catch (NoSuchAlgorithmException|IOException e) {
  31. e.printStackTrace();
  32. throw new CertificateException("Internal error");
  33. }
  34. }
  35.  
  36. public X509Certificate[] getAcceptedIssuers() {
  37. return new X509Certificate[] {};
  38. }
  39. };
  40.  
  41. sslContext = SSLContext.getInstance("TLSv1.2");
  42. sslContext.init(keyManagerFactory.getKeyManagers(), new TrustManager[] {tm}, null);
  43. ...
  44. SSLSocket socket = sslContext.getSocketFactory().createSocket(...);
  45. socket.setSoTimeout(60*1000);
  46.  
  47. Exception in thread "main" java.io.IOException: Stream closed
  48. at java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:162)
  49. at java.io.BufferedInputStream.read(BufferedInputStream.java:325)
  50. at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
  51. at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
  52. at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
  53. at java.io.InputStreamReader.read(InputStreamReader.java:184)
  54. at java.io.BufferedReader.fill(BufferedReader.java:154)
  55. at java.io.BufferedReader.readLine(BufferedReader.java:317)
  56. at java.io.BufferedReader.readLine(BufferedReader.java:382)
  57. at Client.main(Client.java:33)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement