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 java.util.Collection;
032 import java.util.SortedSet;
033 import org.opends.server.admin.IllegalPropertyValueException;
034 import org.opends.server.admin.ManagedObjectDefinition;
035 import org.opends.server.admin.std.server.SubjectDNToUserAttributeCertificateMapperCfg;
036 import org.opends.server.types.AttributeType;
037 import org.opends.server.types.DN;
038
039
040
041 /**
042 * A client-side interface for reading and modifying Subject DN To
043 * User Attribute Certificate Mapper settings.
044 * <p>
045 * The Subject DN To User Attribute Certificate Mapper maps client
046 * certificates to user entries by looking for the certificate subject
047 * DN in a specified attribute of user entries.
048 */
049 public interface SubjectDNToUserAttributeCertificateMapperCfgClient extends CertificateMapperCfgClient {
050
051 /**
052 * Get the configuration definition associated with this Subject DN To User Attribute Certificate Mapper.
053 *
054 * @return Returns the configuration definition associated with this Subject DN To User Attribute Certificate Mapper.
055 */
056 ManagedObjectDefinition<? extends SubjectDNToUserAttributeCertificateMapperCfgClient, ? extends SubjectDNToUserAttributeCertificateMapperCfg> definition();
057
058
059
060 /**
061 * Gets the "java-class" property.
062 * <p>
063 * Specifies the fully-qualified name of the Java class that
064 * provides the Subject DN To User Attribute Certificate Mapper
065 * implementation.
066 *
067 * @return Returns the value of the "java-class" property.
068 */
069 String getJavaClass();
070
071
072
073 /**
074 * Sets the "java-class" property.
075 * <p>
076 * Specifies the fully-qualified name of the Java class that
077 * provides the Subject DN To User Attribute Certificate Mapper
078 * implementation.
079 *
080 * @param value The value of the "java-class" property.
081 * @throws IllegalPropertyValueException
082 * If the new value is invalid.
083 */
084 void setJavaClass(String value) throws IllegalPropertyValueException;
085
086
087
088 /**
089 * Gets the "subject-attribute" property.
090 * <p>
091 * Specifies the name or OID of the attribute whose value should
092 * exactly match the certificate subject DN.
093 *
094 * @return Returns the value of the "subject-attribute" property.
095 */
096 AttributeType getSubjectAttribute();
097
098
099
100 /**
101 * Sets the "subject-attribute" property.
102 * <p>
103 * Specifies the name or OID of the attribute whose value should
104 * exactly match the certificate subject DN.
105 *
106 * @param value The value of the "subject-attribute" property.
107 * @throws IllegalPropertyValueException
108 * If the new value is invalid.
109 */
110 void setSubjectAttribute(AttributeType value) throws IllegalPropertyValueException;
111
112
113
114 /**
115 * Gets the "user-base-dn" property.
116 * <p>
117 * Specifies the base DNs that should be used when performing
118 * searches to map the client certificate to a user entry.
119 *
120 * @return Returns the values of the "user-base-dn" property.
121 */
122 SortedSet<DN> getUserBaseDN();
123
124
125
126 /**
127 * Sets the "user-base-dn" property.
128 * <p>
129 * Specifies the base DNs that should be used when performing
130 * searches to map the client certificate to a user entry.
131 *
132 * @param values The values of the "user-base-dn" property.
133 * @throws IllegalPropertyValueException
134 * If one or more of the new values are invalid.
135 */
136 void setUserBaseDN(Collection<DN> values) throws IllegalPropertyValueException;
137
138 }