/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.identity.AuthenticationException
 *  com.l7tech.identity.Group
 *  com.l7tech.identity.GroupManager
 *  com.l7tech.identity.IdentityProvider
 *  com.l7tech.identity.User
 *  com.l7tech.identity.UserManager
 *  com.l7tech.objectmodel.FindException
 *  com.l7tech.policy.assertion.credential.LoginCredentials
 */
package com.l7tech.server.identity;

import com.l7tech.identity.AuthenticationException;
import com.l7tech.identity.Group;
import com.l7tech.identity.GroupManager;
import com.l7tech.identity.IdentityProvider;
import com.l7tech.identity.User;
import com.l7tech.identity.UserManager;
import com.l7tech.objectmodel.FindException;
import com.l7tech.policy.assertion.credential.LoginCredentials;
import com.l7tech.server.identity.AuthenticationResult;
import java.math.BigInteger;
import java.security.cert.X509Certificate;
import javax.security.auth.x500.X500Principal;

public interface AuthenticatingIdentityProvider<UT extends User, GT extends Group, UMT extends UserManager<UT>, GMT extends GroupManager<UT, GT>>
extends IdentityProvider<UT, GT, UMT, GMT> {
    public AuthenticationResult authenticate(LoginCredentials var1) throws AuthenticationException;

    public AuthenticationResult authenticate(LoginCredentials var1, boolean var2) throws AuthenticationException;

    public UT findUserByCredential(LoginCredentials var1) throws FindException;

    public X509Certificate findCertByIssuerAndSerial(X500Principal var1, BigInteger var2) throws FindException;

    public X509Certificate findCertBySki(String var1) throws FindException;

    public X509Certificate findCertByThumbprintSHA1(String var1) throws FindException;

    public X509Certificate findCertBySubjectDn(X500Principal var1) throws FindException;
}

