Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
- keyManagerFactory.init(privateKey, keystorePassword);
- TrustManager tm = new X509TrustManager() {
- public void checkClientTrusted(X509Certificate[] chain, String authType)
- throws CertificateException {
- }
- public void checkServerTrusted(X509Certificate[] chain, String authType)
- throws CertificateException {
- if (chain == null || chain.length != 1)
- throw new CertificateException("Chain Length Not Correct");
- X509Certificate partnerCert = chain[0];
- try {
- java.security.cert.Certificate storedCert = trustedKeys.getCertificate(partnerAlias);
- if (storedCert == null || !storedCert.equals(partnerCert)) {
- if (prompt(...)) {
- addTrustedCertificate(partnerCert);
- }
- else {
- throw new CertificateException("Certificate rejected");
- }
- }
- } catch (KeyStoreException e) {
- e.printStackTrace();
- throw new CertificateException("KeystoreException");
- } catch (NoSuchAlgorithmException|IOException e) {
- e.printStackTrace();
- throw new CertificateException("Internal error");
- }
- }
- public X509Certificate[] getAcceptedIssuers() {
- return new X509Certificate[] {};
- }
- };
- sslContext = SSLContext.getInstance("TLSv1.2");
- sslContext.init(keyManagerFactory.getKeyManagers(), new TrustManager[] {tm}, null);
- ...
- SSLSocket socket = sslContext.getSocketFactory().createSocket(...);
- socket.setSoTimeout(60*1000);
- Exception in thread "main" java.io.IOException: Stream closed
- at java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:162)
- at java.io.BufferedInputStream.read(BufferedInputStream.java:325)
- at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
- at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
- at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
- at java.io.InputStreamReader.read(InputStreamReader.java:184)
- at java.io.BufferedReader.fill(BufferedReader.java:154)
- at java.io.BufferedReader.readLine(BufferedReader.java:317)
- at java.io.BufferedReader.readLine(BufferedReader.java:382)
- at Client.main(Client.java:33)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement