src/org/gege/caldavsyncadapter/caldav/EasyX509TrustManager.java

Tue, 10 Feb 2015 18:12:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 10 Feb 2015 18:12:00 +0100
changeset 0
fb9019fb1bf7
permissions
-rw-r--r--

Import initial revisions of existing project AndroidCaldavSyncAdapater,
forked from upstream repository at 27e8a0f8495c92e0780d450bdf0c7cec77a03a55.

     1 /**
     2  * Copyright (c) 2012-2013, Gerald Garcia
     3  * 
     4  * This file is part of Andoid Caldav Sync Adapter Free.
     5  *
     6  * Andoid Caldav Sync Adapter Free is free software: you can redistribute 
     7  * it and/or modify it under the terms of the GNU General Public License 
     8  * as published by the Free Software Foundation, either version 3 of the 
     9  * License, or at your option any later version.
    10  *
    11  * Andoid Caldav Sync Adapter Free is distributed in the hope that 
    12  * it will be useful, but WITHOUT ANY WARRANTY; without even the implied 
    13  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    14  * GNU General Public License for more details.
    15  *
    16  * You should have received a copy of the GNU General Public License
    17  * along with Andoid Caldav Sync Adapter Free.  
    18  * If not, see <http://www.gnu.org/licenses/>.
    19  * 
    20  */
    22 package org.gege.caldavsyncadapter.caldav;
    24 /*
    25  * Licensed to the Apache Software Foundation (ASF) under one
    26  * or more contributor license agreements.  See the NOTICE file
    27  * distributed with this work for additional information
    28  * regarding copyright ownership.  The ASF licenses this file
    29  * to you under the Apache License, Version 2.0 (the
    30  * "License"); you may not use this file except in compliance
    31  * with the License.  You may obtain a copy of the License at
    32  *
    33  *   http://www.apache.org/licenses/LICENSE-2.0
    34  *
    35  * Unless required by applicable law or agreed to in writing,
    36  * software distributed under the License is distributed on an
    37  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    38  * KIND, either express or implied.  See the License for the
    39  * specific language governing permissions and limitations
    40  * under the License.
    41  */
    43 import java.security.KeyStore;
    44 import java.security.KeyStoreException;
    45 import java.security.NoSuchAlgorithmException;
    46 import java.security.cert.CertificateException;
    47 import java.security.cert.X509Certificate;
    49 import javax.net.ssl.TrustManager;
    50 import javax.net.ssl.TrustManagerFactory;
    51 import javax.net.ssl.X509TrustManager;
    53 /**
    54  * @author olamy
    55  * @version $Id: EasyX509TrustManager.java 765355 2009-04-15 20:59:07Z evenisse $
    56  * @since 1.2.3
    57  */
    58 public class EasyX509TrustManager
    59     implements X509TrustManager
    60 {
    62     private X509TrustManager standardTrustManager = null;
    64     /**
    65      * Constructor for EasyX509TrustManager.
    66      */
    67     public EasyX509TrustManager( KeyStore keystore )
    68         throws NoSuchAlgorithmException, KeyStoreException
    69     {
    70         super();
    71         TrustManagerFactory factory = TrustManagerFactory.getInstance( TrustManagerFactory.getDefaultAlgorithm() );
    72         factory.init( keystore );
    73         TrustManager[] trustmanagers = factory.getTrustManagers();
    74         if ( trustmanagers.length == 0 )
    75         {
    76             throw new NoSuchAlgorithmException( "no trust manager found" );
    77         }
    78         this.standardTrustManager = (X509TrustManager) trustmanagers[0];
    79     }
    81     /**
    82      * @see javax.net.ssl.X509TrustManager#checkClientTrusted(X509Certificate[],String authType)
    83      */
    84     public void checkClientTrusted( X509Certificate[] certificates, String authType )
    85         throws CertificateException
    86     {
    87         standardTrustManager.checkClientTrusted( certificates, authType );
    88     }
    90     /**
    91      * @see javax.net.ssl.X509TrustManager#checkServerTrusted(X509Certificate[],String authType)
    92      */
    93     public void checkServerTrusted( X509Certificate[] certificates, String authType )
    94         throws CertificateException
    95     {
    96         if ( ( certificates != null ) && ( certificates.length == 1 ) )
    97         {
    98             certificates[0].checkValidity();
    99         }
   100         else
   101         {
   102             standardTrustManager.checkServerTrusted( certificates, authType );
   103         }
   104     }
   106     /**
   107      * @see javax.net.ssl.X509TrustManager#getAcceptedIssuers()
   108      */
   109     public X509Certificate[] getAcceptedIssuers()
   110     {
   111         return this.standardTrustManager.getAcceptedIssuers();
   112     }
   114 }

mercurial