diff options
Diffstat (limited to 'swext/mediawiki/src/com/sun/star/wiki/WikiProtocolSocketFactory.java')
-rw-r--r-- | swext/mediawiki/src/com/sun/star/wiki/WikiProtocolSocketFactory.java | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiProtocolSocketFactory.java b/swext/mediawiki/src/com/sun/star/wiki/WikiProtocolSocketFactory.java deleted file mode 100644 index bba7d08..0000000 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiProtocolSocketFactory.java +++ /dev/null @@ -1,168 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package com.sun.star.wiki; - -import java.io.IOException; -import java.net.InetAddress; -import java.net.InetSocketAddress; -import java.net.Socket; -import java.net.UnknownHostException; -import java.security.KeyStore; -import javax.net.ssl.SSLContext; -import javax.net.ssl.TrustManager; -import javax.net.ssl.TrustManagerFactory; -import javax.net.ssl.X509TrustManager; -import java.security.cert.CertificateException; -import java.security.cert.X509Certificate; -import org.apache.commons.httpclient.ConnectTimeoutException; -import org.apache.commons.httpclient.HttpClientError; -import org.apache.commons.httpclient.params.HttpConnectionParams; -import org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory; - -class WikiProtocolSocketFactory implements SecureProtocolSocketFactory -{ - private SSLContext m_aSSLContext; - - public WikiProtocolSocketFactory() - { - super(); - } - - public synchronized SSLContext GetNotSoSecureSSLContext() - { - if ( m_aSSLContext == null ) - { - TrustManager[] pTrustUnknownCerts = new TrustManager[] - { - new X509TrustManager() { - private X509TrustManager m_aOrgTrustManager; - - private X509TrustManager GetOrgTrustManager() - { - if ( m_aOrgTrustManager == null ) - { - try - { - TrustManagerFactory aFactory = TrustManagerFactory.getInstance( TrustManagerFactory.getDefaultAlgorithm() ); - aFactory.init( (KeyStore)null ); - TrustManager[] pTrustmanagers = aFactory.getTrustManagers(); - if ( pTrustmanagers.length != 0 && pTrustmanagers[0] != null ) - m_aOrgTrustManager = (X509TrustManager)pTrustmanagers[0]; - } - catch( Exception e ) - { - throw new RuntimeException( "No access to the default trust manager!" ); - } - } - - return m_aOrgTrustManager; - } - - public X509Certificate[] getAcceptedIssuers() - { - return GetOrgTrustManager().getAcceptedIssuers(); - } - - public void checkClientTrusted(X509Certificate[] certs, String authType) throws CertificateException - { - GetOrgTrustManager().checkClientTrusted( certs, authType ); - } - - public void checkServerTrusted(X509Certificate[] certs, String authType) throws CertificateException - { - if ( certs == null || certs.length == 0 ) - GetOrgTrustManager().checkServerTrusted( certs, authType ); - else - for ( int nInd = 0; nInd < certs.length; nInd++ ) - certs[nInd].checkValidity(); - } - } - }; - - try - { - SSLContext aContext = SSLContext.getInstance("SSL"); - if ( aContext != null ) - { - aContext.init( null, pTrustUnknownCerts, null ); - m_aSSLContext = aContext; - } - } - catch ( Exception e ) - { - } - } - - if ( m_aSSLContext == null ) - throw new HttpClientError(); - - return m_aSSLContext; - } - - public Socket createSocket( String sHost, int nPort, InetAddress clientHost, int clientPort ) - throws IOException, UnknownHostException - { - return GetNotSoSecureSSLContext().getSocketFactory().createSocket( sHost, nPort, clientHost, clientPort ); - } - - public Socket createSocket( final String sHost, final int nPort, final InetAddress aLocalAddress, final int nLocalPort, final HttpConnectionParams params ) - throws IOException, UnknownHostException, ConnectTimeoutException - { - if ( params == null ) - return createSocket( sHost, nPort, aLocalAddress, nLocalPort ); - - int nTimeout = params.getConnectionTimeout(); - Socket aSocket = GetNotSoSecureSSLContext().getSocketFactory().createSocket(); - aSocket.bind( new InetSocketAddress( aLocalAddress, nLocalPort ) ); - aSocket.connect( new InetSocketAddress( sHost, nPort ), nTimeout ); - return aSocket; - } - - public Socket createSocket( String sHost, int nPort ) - throws IOException, UnknownHostException - { - return GetNotSoSecureSSLContext().getSocketFactory().createSocket( sHost, nPort ); - } - - public Socket createSocket( Socket aSocket, String sHost, int nPort, boolean bAutoClose ) - throws IOException, UnknownHostException - { - return GetNotSoSecureSSLContext().getSocketFactory().createSocket( aSocket, sHost, nPort, bAutoClose ); - } - - public boolean equals(Object obj) - { - return ((obj != null) && obj.getClass().equals(WikiProtocolSocketFactory.class)); - } - - public int hashCode() - { - return WikiProtocolSocketFactory.class.hashCode(); - } -}; - |