/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  org.apache.tomcat.util.net.SSLContext
 */
package com.l7tech.server.tomcat;

import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.Provider;
import java.security.SecureRandom;
import java.security.cert.X509Certificate;
import java.util.Arrays;
import java.util.HashSet;
import javax.net.ssl.KeyManager;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLEngine;
import javax.net.ssl.SSLParameters;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLSessionContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509KeyManager;
import javax.net.ssl.X509TrustManager;

public class SsgJSSESSLContext
implements org.apache.tomcat.util.net.SSLContext {
    private final SSLContext a;
    private KeyManager[] b;
    private TrustManager[] c;

    private SsgJSSESSLContext(SSLContext sSLContext) {
        this.a = sSLContext;
    }

    public static SsgJSSESSLContext createInstance(String string, Provider provider) throws NoSuchAlgorithmException {
        SSLContext sSLContext = provider != null ? SSLContext.getInstance(string, provider) : SSLContext.getInstance(string);
        return new SsgJSSESSLContext(sSLContext);
    }

    public void init(KeyManager[] keyManagerArray, TrustManager[] trustManagerArray, SecureRandom secureRandom) throws KeyManagementException {
        this.b = keyManagerArray;
        this.c = trustManagerArray;
        this.a.init(keyManagerArray, trustManagerArray, secureRandom);
    }

    public void destroy() {
    }

    public SSLSessionContext getServerSessionContext() {
        return this.a.getServerSessionContext();
    }

    public SSLEngine createSSLEngine() {
        return this.a.createSSLEngine();
    }

    public SSLServerSocketFactory getServerSocketFactory() {
        return this.a.getServerSocketFactory();
    }

    public SSLParameters getSupportedSSLParameters() {
        return this.a.getSupportedSSLParameters();
    }

    public X509Certificate[] getCertificateChain(String string) {
        X509Certificate[] x509CertificateArray = null;
        if (this.b != null) {
            for (int i2 = 0; i2 < this.b.length && x509CertificateArray == null; ++i2) {
                if (!(this.b[i2] instanceof X509KeyManager)) continue;
                x509CertificateArray = ((X509KeyManager)this.b[i2]).getCertificateChain(string);
            }
        }
        return x509CertificateArray;
    }

    public X509Certificate[] getAcceptedIssuers() {
        HashSet<X509Certificate> hashSet = new HashSet<X509Certificate>();
        if (this.c != null) {
            for (TrustManager trustManager : this.c) {
                if (!(trustManager instanceof X509TrustManager)) continue;
                X509Certificate[] x509CertificateArray = ((X509TrustManager)trustManager).getAcceptedIssuers();
                hashSet.addAll(Arrays.asList(x509CertificateArray));
            }
        }
        return hashSet.toArray(new X509Certificate[0]);
    }
}

