Home | History | Annotate | Download | only in ssl
      1 /*
      2  * Copyright (C) 2013 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 package org.conscrypt.javax.net.ssl;
     17 import java.net.Socket;
     18 import java.security.Principal;
     19 import java.security.PrivateKey;
     20 import java.security.cert.X509Certificate;
     21 import javax.net.ssl.SSLEngine;
     22 import javax.net.ssl.X509ExtendedKeyManager;
     23 /**
     24  * {@link X509ExtendedKeyManager} which delegates all calls to the provided
     25  * {@code X509ExtendedKeyManager} instance.
     26  */
     27 public class ForwardingX509ExtendedKeyManager extends X509ExtendedKeyManager {
     28     private final X509ExtendedKeyManager delegate;
     29     public ForwardingX509ExtendedKeyManager(X509ExtendedKeyManager delegate) {
     30         this.delegate = delegate;
     31     }
     32     @Override
     33     public String chooseClientAlias(String[] keyType, Principal[] issuers, Socket socket) {
     34         return delegate.chooseClientAlias(keyType, issuers, socket);
     35     }
     36     @Override
     37     public String chooseServerAlias(String keyType, Principal[] issuers, Socket socket) {
     38         return delegate.chooseServerAlias(keyType, issuers, socket);
     39     }
     40     @Override
     41     public X509Certificate[] getCertificateChain(String alias) {
     42         return delegate.getCertificateChain(alias);
     43     }
     44     @Override
     45     public String[] getClientAliases(String keyType, Principal[] issuers) {
     46         return delegate.getClientAliases(keyType, issuers);
     47     }
     48     @Override
     49     public String[] getServerAliases(String keyType, Principal[] issuers) {
     50         return delegate.getServerAliases(keyType, issuers);
     51     }
     52     @Override
     53     public String chooseEngineClientAlias(String[] keyType, Principal[] issuers, SSLEngine engine) {
     54         return delegate.chooseEngineClientAlias(keyType, issuers, engine);
     55     }
     56     @Override
     57     public String chooseEngineServerAlias(String keyType, Principal[] issuers, SSLEngine engine) {
     58         return delegate.chooseEngineServerAlias(keyType, issuers, engine);
     59     }
     60     @Override
     61     public PrivateKey getPrivateKey(String alias) {
     62         return delegate.getPrivateKey(alias);
     63     }
     64 }
     65