/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.gateway.common.security.keystore.SsgKeyEntry
 *  com.l7tech.objectmodel.FindException
 *  com.l7tech.objectmodel.Goid
 *  com.l7tech.util.Pair
 */
package com.l7tech.server;

import com.l7tech.gateway.common.security.keystore.SsgKeyEntry;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.util.Pair;
import java.io.IOException;
import java.security.KeyStoreException;
import javax.net.ssl.KeyManager;

public interface DefaultKey {
    public SsgKeyEntry getSslInfo() throws IOException;

    public SsgKeyEntry getServerSslInfo() throws IOException;

    public SsgKeyEntry getClientSslInfo() throws IOException;

    default public SsgKeyEntry getLatestSslInfo() throws IOException {
        return this.getSslInfo();
    }

    default public SsgKeyEntry getLatestServerSslInfo() throws IOException {
        return this.getServerSslInfo();
    }

    default public SsgKeyEntry getLatestClientSslInfo() throws IOException {
        return this.getClientSslInfo();
    }

    public SsgKeyEntry getCaInfo();

    public SsgKeyEntry getAuditSigningInfo();

    public SsgKeyEntry getAuditViewerInfo();

    public Pair<Goid, String> getAuditViewerAlias();

    public KeyManager[] getSslKeyManagers();

    public KeyManager[] getServerSslKeyManagers();

    public KeyManager[] getClientSslKeyManagers();

    public SsgKeyEntry lookupKeyByKeyAlias(String var1, Goid var2) throws FindException, KeyStoreException, IOException;

    default public void addKeyInfoListener(KeyInfoListener keyInfoListener) {
    }

    default public void removeKeyInfoListener(KeyInfoListener keyInfoListener) {
    }

    public static interface KeyInfoListener {
        public void notifyKeyChanged(String var1);
    }
}

