001 /*
002 * CDDL HEADER START
003 *
004 * The contents of this file are subject to the terms of the
005 * Common Development and Distribution License, Version 1.0 only
006 * (the "License"). You may not use this file except in compliance
007 * with the License.
008 *
009 * You can obtain a copy of the license at
010 * trunk/opends/resource/legal-notices/OpenDS.LICENSE
011 * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
012 * See the License for the specific language governing permissions
013 * and limitations under the License.
014 *
015 * When distributing Covered Code, include this CDDL HEADER in each
016 * file and include the License file at
017 * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
018 * add the following below this CDDL HEADER, with the fields enclosed
019 * by brackets "[]" replaced with your own identifying information:
020 * Portions Copyright [yyyy] [name of copyright owner]
021 *
022 * CDDL HEADER END
023 *
024 *
025 * Copyright 2008 Sun Microsystems, Inc.
026 */
027 package org.opends.server.admin.std.client;
028
029
030
031 import org.opends.server.admin.IllegalPropertyValueException;
032 import org.opends.server.admin.ManagedObjectDefinition;
033 import org.opends.server.admin.std.meta.ExternalSASLMechanismHandlerCfgDefn.CertificateValidationPolicy;
034 import org.opends.server.admin.std.server.ExternalSASLMechanismHandlerCfg;
035 import org.opends.server.types.AttributeType;
036
037
038
039 /**
040 * A client-side interface for reading and modifying External SASL
041 * Mechanism Handler settings.
042 * <p>
043 * The External SASL Mechanism Handler performs all processing related
044 * to SASL EXTERNAL authentication.
045 */
046 public interface ExternalSASLMechanismHandlerCfgClient extends SASLMechanismHandlerCfgClient {
047
048 /**
049 * Get the configuration definition associated with this External SASL Mechanism Handler.
050 *
051 * @return Returns the configuration definition associated with this External SASL Mechanism Handler.
052 */
053 ManagedObjectDefinition<? extends ExternalSASLMechanismHandlerCfgClient, ? extends ExternalSASLMechanismHandlerCfg> definition();
054
055
056
057 /**
058 * Gets the "certificate-attribute" property.
059 * <p>
060 * Specifies the name of the attribute to hold user certificates.
061 * <p>
062 * This property must specify the name of a valid attribute type
063 * defined in the server schema.
064 *
065 * @return Returns the value of the "certificate-attribute" property.
066 */
067 AttributeType getCertificateAttribute();
068
069
070
071 /**
072 * Sets the "certificate-attribute" property.
073 * <p>
074 * Specifies the name of the attribute to hold user certificates.
075 * <p>
076 * This property must specify the name of a valid attribute type
077 * defined in the server schema.
078 *
079 * @param value The value of the "certificate-attribute" property.
080 * @throws IllegalPropertyValueException
081 * If the new value is invalid.
082 */
083 void setCertificateAttribute(AttributeType value) throws IllegalPropertyValueException;
084
085
086
087 /**
088 * Gets the "certificate-mapper" property.
089 * <p>
090 * Specifies the name of the certificate mapper that should be used
091 * to match client certificates to user entries.
092 *
093 * @return Returns the value of the "certificate-mapper" property.
094 */
095 String getCertificateMapper();
096
097
098
099 /**
100 * Sets the "certificate-mapper" property.
101 * <p>
102 * Specifies the name of the certificate mapper that should be used
103 * to match client certificates to user entries.
104 *
105 * @param value The value of the "certificate-mapper" property.
106 * @throws IllegalPropertyValueException
107 * If the new value is invalid.
108 */
109 void setCertificateMapper(String value) throws IllegalPropertyValueException;
110
111
112
113 /**
114 * Gets the "certificate-validation-policy" property.
115 * <p>
116 * Indicates whether to attempt to validate the peer certificate
117 * against a certificate held in the user's entry.
118 *
119 * @return Returns the value of the "certificate-validation-policy" property.
120 */
121 CertificateValidationPolicy getCertificateValidationPolicy();
122
123
124
125 /**
126 * Sets the "certificate-validation-policy" property.
127 * <p>
128 * Indicates whether to attempt to validate the peer certificate
129 * against a certificate held in the user's entry.
130 *
131 * @param value The value of the "certificate-validation-policy" property.
132 * @throws IllegalPropertyValueException
133 * If the new value is invalid.
134 */
135 void setCertificateValidationPolicy(CertificateValidationPolicy value) throws IllegalPropertyValueException;
136
137
138
139 /**
140 * Gets the "java-class" property.
141 * <p>
142 * Specifies the fully-qualified name of the Java class that
143 * provides the SASL mechanism handler implementation.
144 *
145 * @return Returns the value of the "java-class" property.
146 */
147 String getJavaClass();
148
149
150
151 /**
152 * Sets the "java-class" property.
153 * <p>
154 * Specifies the fully-qualified name of the Java class that
155 * provides the SASL mechanism handler implementation.
156 *
157 * @param value The value of the "java-class" property.
158 * @throws IllegalPropertyValueException
159 * If the new value is invalid.
160 */
161 void setJavaClass(String value) throws IllegalPropertyValueException;
162
163 }