Home » openjdk-7 » javax » net » ssl » [javadoc | source]

    1   /*
    2    * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
    3    * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    4    *
    5    * This code is free software; you can redistribute it and/or modify it
    6    * under the terms of the GNU General Public License version 2 only, as
    7    * published by the Free Software Foundation.  Oracle designates this
    8    * particular file as subject to the "Classpath" exception as provided
    9    * by Oracle in the LICENSE file that accompanied this code.
   10    *
   11    * This code is distributed in the hope that it will be useful, but WITHOUT
   12    * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   13    * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   14    * version 2 for more details (a copy is included in the LICENSE file that
   15    * accompanied this code).
   16    *
   17    * You should have received a copy of the GNU General Public License version
   18    * 2 along with this work; if not, write to the Free Software Foundation,
   19    * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   20    *
   21    * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   22    * or visit www.oracle.com if you need additional information or have any
   23    * questions.
   24    */
   25   
   26   package javax.net.ssl;
   27   
   28   import java.security.Principal;
   29   
   30   /**
   31    * Abstract class that provides for extension of the X509KeyManager
   32    * interface.
   33    * <P>
   34    * Methods in this class should be overriden to provide actual
   35    * implementations.
   36    *
   37    * @since 1.5
   38    * @author Brad R. Wetmore
   39    */
   40   public abstract class X509ExtendedKeyManager implements X509KeyManager {
   41   
   42       /**
   43        * Constructor used by subclasses only.
   44        */
   45       protected X509ExtendedKeyManager() {
   46       }
   47   
   48       /**
   49        * Choose an alias to authenticate the client side of an
   50        * <code>SSLEngine</code> connection given the public key type
   51        * and the list of certificate issuer authorities recognized by
   52        * the peer (if any).
   53        * <P>
   54        * The default implementation returns null.
   55        *
   56        * @param keyType the key algorithm type name(s), ordered
   57        *          with the most-preferred key type first.
   58        * @param issuers the list of acceptable CA issuer subject names
   59        *          or null if it does not matter which issuers are used.
   60        * @param engine the <code>SSLEngine</code> to be used for this
   61        *          connection.  This parameter can be null, which indicates
   62        *          that implementations of this interface are free to
   63        *          select an alias applicable to any engine.
   64        * @return the alias name for the desired key, or null if there
   65        *          are no matches.
   66        */
   67       public String chooseEngineClientAlias(String[] keyType,
   68               Principal[] issuers, SSLEngine engine) {
   69           return null;
   70       }
   71   
   72       /**
   73        * Choose an alias to authenticate the server side of an
   74        * <code>SSLEngine</code> connection given the public key type
   75        * and the list of certificate issuer authorities recognized by
   76        * the peer (if any).
   77        * <P>
   78        * The default implementation returns null.
   79        *
   80        * @param keyType the key algorithm type name.
   81        * @param issuers the list of acceptable CA issuer subject names
   82        *          or null if it does not matter which issuers are used.
   83        * @param engine the <code>SSLEngine</code> to be used for this
   84        *          connection.  This parameter can be null, which indicates
   85        *          that implementations of this interface are free to
   86        *          select an alias applicable to any engine.
   87        * @return the alias name for the desired key, or null if there
   88        *          are no matches.
   89        */
   90       public String chooseEngineServerAlias(String keyType,
   91               Principal[] issuers, SSLEngine engine) {
   92           return null;
   93       }
   94   
   95   }

Home » openjdk-7 » javax » net » ssl » [javadoc | source]