/** * Create and configure SSL protocol socket factory using trust manager and hostname verifier. * * @param trustManager trust manager * @param hostnameVerifier hostname verifier * @return socket factory for SSL protocol * @throws GeneralSecurityException on security error */ public static EwsSSLProtocolSocketFactory build( TrustManager trustManager, HostnameVerifier hostnameVerifier ) throws GeneralSecurityException { SSLContext sslContext = createSslContext(trustManager); return new EwsSSLProtocolSocketFactory(sslContext, hostnameVerifier); }
/** * Create and configure SSL protocol socket factory using default hostname verifier. * {@link EwsSSLProtocolSocketFactory#DEFAULT_HOSTNAME_VERIFIER} * * @param trustManager trust manager * @return socket factory for SSL protocol * @throws GeneralSecurityException on security error */ public static EwsSSLProtocolSocketFactory build(TrustManager trustManager) throws GeneralSecurityException { return build(trustManager, DEFAULT_HOSTNAME_VERIFIER); }
Protocol.registerProtocol("https", new Protocol("https", new EwsSSLProtocolSocketFactory(), 443));
/** * Create and configure SSL protocol socket factory using trust manager and hostname verifier. * * @param trustManager trust manager * @param hostnameVerifier hostname verifier * @return socket factory for SSL protocol * @throws GeneralSecurityException on security error */ public static EwsSSLProtocolSocketFactory build( TrustManager trustManager, HostnameVerifier hostnameVerifier ) throws GeneralSecurityException { SSLContext sslContext = createSslContext(trustManager); return new EwsSSLProtocolSocketFactory(sslContext, hostnameVerifier); }
/** * Create registry with configured {@link ConnectionSocketFactory} instances. * Override this method to change how to work with different schemas. * * @return registry object */ protected Registry<ConnectionSocketFactory> createConnectionSocketFactoryRegistry() { try { return RegistryBuilder.<ConnectionSocketFactory>create() .register(EWSConstants.HTTP_SCHEME, new PlainConnectionSocketFactory()) .register(EWSConstants.HTTPS_SCHEME, EwsSSLProtocolSocketFactory.build(null)) .build(); } catch (GeneralSecurityException e) { throw new RuntimeException( "Could not initialize ConnectionSocketFactory instances for HttpClientConnectionManager", e ); } }
/** * Create and configure SSL protocol socket factory using default hostname verifier. * {@link EwsSSLProtocolSocketFactory#DEFAULT_HOSTNAME_VERIFIER} * * @param trustManager trust manager * @return socket factory for SSL protocol * @throws GeneralSecurityException on security error */ public static EwsSSLProtocolSocketFactory build(TrustManager trustManager) throws GeneralSecurityException { return build(trustManager, DEFAULT_HOSTNAME_VERIFIER); }
/** * Create registry with configured {@link ConnectionSocketFactory} instances. * Override this method to change how to work with different schemas. * * @return registry object */ protected Registry<ConnectionSocketFactory> createConnectionSocketFactoryRegistry() { try { return RegistryBuilder.<ConnectionSocketFactory>create() .register(EWSConstants.HTTP_SCHEME, new PlainConnectionSocketFactory()) .register(EWSConstants.HTTPS_SCHEME, EwsSSLProtocolSocketFactory.build(null)) .build(); } catch (GeneralSecurityException e) { throw new RuntimeException( "Could not initialize ConnectionSocketFactory instances for HttpClientConnectionManager", e ); } }