From d0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb Mon Sep 17 00:00:00 2001 From: PKI Team Date: Tue, 18 Mar 2008 22:36:57 +0000 Subject: Initial open source version based upon proprietary Red Hat Certificate System (RHCS) 7.3. git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/trunk@2 c9f7a03b-bd48-0410-a16d-cbbf54688b0b --- .../certsrv/profile/IProfileAuthenticator.java | 118 +++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 pki/base/common/src/com/netscape/certsrv/profile/IProfileAuthenticator.java (limited to 'pki/base/common/src/com/netscape/certsrv/profile/IProfileAuthenticator.java') diff --git a/pki/base/common/src/com/netscape/certsrv/profile/IProfileAuthenticator.java b/pki/base/common/src/com/netscape/certsrv/profile/IProfileAuthenticator.java new file mode 100644 index 000000000..d9ffb7a75 --- /dev/null +++ b/pki/base/common/src/com/netscape/certsrv/profile/IProfileAuthenticator.java @@ -0,0 +1,118 @@ +// --- BEGIN COPYRIGHT BLOCK --- +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; version 2 of the License. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +// (C) 2007 Red Hat, Inc. +// All rights reserved. +// --- END COPYRIGHT BLOCK --- +package com.netscape.certsrv.profile; + +import java.util.*; +import com.netscape.certsrv.base.*; +import com.netscape.certsrv.property.*; +import com.netscape.certsrv.request.*; +import com.netscape.certsrv.authentication.*; + + +/** + * This interface represents an authenticator for profile. + * An authenticator is responsibile for authenting + * the end-user. If authentication is successful, request + * can be processed immediately. Otherwise, the request will + * be defered and manual approval is then required. + * + * @version $Revision: 14561 $, $Date: 2007-05-01 10:28:56 -0700 (Tue, 01 May 2007) $ + */ +public interface IProfileAuthenticator extends IAuthManager { + + public static final String AUTHENTICATED_NAME = "authenticatedName"; + + /** + * Initializes this default policy. + * + * @param profile owner of this authenticator + * @param config configuration store + * @exception EProfileException failed to initialize + */ + public void init(IProfile profile, IConfigStore config) + throws EProfileException; + + /** + * Retrieves the configuration store. + * + * @return configuration store + */ + public IConfigStore getConfigStore(); + + /** + * Populates authentication specific information into the + * request for auditing purposes. + * + * @param token authentication token + * @param request request + * @exception EProfileException failed to populate + */ + public void populate(IAuthToken token, IRequest request) + throws EProfileException; + + /** + * Retrieves the localizable name of this policy. + * + * @param locale end user locale + * @return localized authenticator name + */ + public String getName(Locale locale); + + /** + * Retrieves the localizable description of this policy. + * + * @param locale end user locale + * @return localized authenticator description + */ + public String getText(Locale locale); + + /** + * Retrieves a list of names of the property. + * + * @return a list of property names + */ + public Enumeration getValueNames(); + + /** + * Checks if the value of the given property should be + * serializable into the request. Passsword or other + * security-related value may not be desirable for + * storage. + * + * @param name property name + * @return true if the property is not security related + */ + public boolean isValueWriteable(String name); + + /** + * Retrieves the descriptor of the given value + * property by name. + * + * @param locale user locale + * @param name property name + * @return descriptor of the requested property + */ + public IDescriptor getValueDescriptor(Locale locale, String name); + + /** + * Checks if this authenticator requires SSL client authentication. + * + * @return client authentication required or not + */ + public boolean isSSLClientRequired(); +} -- cgit