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.server.FileBasedKeyManagerProviderCfg;
034    
035    
036    
037    /**
038     * A client-side interface for reading and modifying File Based Key
039     * Manager Provider settings.
040     * <p>
041     * The File Based Key Manager Provider can be used to obtain the
042     * server certificate from a key store file on the local file system.
043     */
044    public interface FileBasedKeyManagerProviderCfgClient extends KeyManagerProviderCfgClient {
045    
046      /**
047       * Get the configuration definition associated with this File Based Key Manager Provider.
048       *
049       * @return Returns the configuration definition associated with this File Based Key Manager Provider.
050       */
051      ManagedObjectDefinition<? extends FileBasedKeyManagerProviderCfgClient, ? extends FileBasedKeyManagerProviderCfg> definition();
052    
053    
054    
055      /**
056       * Gets the "java-class" property.
057       * <p>
058       * The fully-qualified name of the Java class that provides the File
059       * Based Key Manager Provider implementation.
060       *
061       * @return Returns the value of the "java-class" property.
062       */
063      String getJavaClass();
064    
065    
066    
067      /**
068       * Sets the "java-class" property.
069       * <p>
070       * The fully-qualified name of the Java class that provides the File
071       * Based Key Manager Provider implementation.
072       *
073       * @param value The value of the "java-class" property.
074       * @throws IllegalPropertyValueException
075       *           If the new value is invalid.
076       */
077      void setJavaClass(String value) throws IllegalPropertyValueException;
078    
079    
080    
081      /**
082       * Gets the "key-store-file" property.
083       * <p>
084       * Specifies the path to the file that contains the private key
085       * information. This may be an absolute path, or a path that is
086       * relative to the OpenDS Directory Server instance root.
087       * <p>
088       * Changes to this property will take effect the next time that the
089       * key manager is accessed.
090       *
091       * @return Returns the value of the "key-store-file" property.
092       */
093      String getKeyStoreFile();
094    
095    
096    
097      /**
098       * Sets the "key-store-file" property.
099       * <p>
100       * Specifies the path to the file that contains the private key
101       * information. This may be an absolute path, or a path that is
102       * relative to the OpenDS Directory Server instance root.
103       * <p>
104       * Changes to this property will take effect the next time that the
105       * key manager is accessed.
106       *
107       * @param value The value of the "key-store-file" property.
108       * @throws IllegalPropertyValueException
109       *           If the new value is invalid.
110       */
111      void setKeyStoreFile(String value) throws IllegalPropertyValueException;
112    
113    
114    
115      /**
116       * Gets the "key-store-pin" property.
117       * <p>
118       * Specifies the clear-text PIN needed to access the File Based Key
119       * Manager Provider .
120       *
121       * @return Returns the value of the "key-store-pin" property.
122       */
123      String getKeyStorePin();
124    
125    
126    
127      /**
128       * Sets the "key-store-pin" property.
129       * <p>
130       * Specifies the clear-text PIN needed to access the File Based Key
131       * Manager Provider .
132       *
133       * @param value The value of the "key-store-pin" property.
134       * @throws IllegalPropertyValueException
135       *           If the new value is invalid.
136       */
137      void setKeyStorePin(String value) throws IllegalPropertyValueException;
138    
139    
140    
141      /**
142       * Gets the "key-store-pin-environment-variable" property.
143       * <p>
144       * Specifies the name of the environment variable that contains the
145       * clear-text PIN needed to access the File Based Key Manager
146       * Provider .
147       *
148       * @return Returns the value of the "key-store-pin-environment-variable" property.
149       */
150      String getKeyStorePinEnvironmentVariable();
151    
152    
153    
154      /**
155       * Sets the "key-store-pin-environment-variable" property.
156       * <p>
157       * Specifies the name of the environment variable that contains the
158       * clear-text PIN needed to access the File Based Key Manager
159       * Provider .
160       *
161       * @param value The value of the "key-store-pin-environment-variable" property.
162       * @throws IllegalPropertyValueException
163       *           If the new value is invalid.
164       */
165      void setKeyStorePinEnvironmentVariable(String value) throws IllegalPropertyValueException;
166    
167    
168    
169      /**
170       * Gets the "key-store-pin-file" property.
171       * <p>
172       * Specifies the path to the text file whose only contents should be
173       * a single line containing the clear-text PIN needed to access the
174       * File Based Key Manager Provider .
175       *
176       * @return Returns the value of the "key-store-pin-file" property.
177       */
178      String getKeyStorePinFile();
179    
180    
181    
182      /**
183       * Sets the "key-store-pin-file" property.
184       * <p>
185       * Specifies the path to the text file whose only contents should be
186       * a single line containing the clear-text PIN needed to access the
187       * File Based Key Manager Provider .
188       *
189       * @param value The value of the "key-store-pin-file" property.
190       * @throws IllegalPropertyValueException
191       *           If the new value is invalid.
192       */
193      void setKeyStorePinFile(String value) throws IllegalPropertyValueException;
194    
195    
196    
197      /**
198       * Gets the "key-store-pin-property" property.
199       * <p>
200       * Specifies the name of the Java property that contains the
201       * clear-text PIN needed to access the File Based Key Manager
202       * Provider .
203       *
204       * @return Returns the value of the "key-store-pin-property" property.
205       */
206      String getKeyStorePinProperty();
207    
208    
209    
210      /**
211       * Sets the "key-store-pin-property" property.
212       * <p>
213       * Specifies the name of the Java property that contains the
214       * clear-text PIN needed to access the File Based Key Manager
215       * Provider .
216       *
217       * @param value The value of the "key-store-pin-property" property.
218       * @throws IllegalPropertyValueException
219       *           If the new value is invalid.
220       */
221      void setKeyStorePinProperty(String value) throws IllegalPropertyValueException;
222    
223    
224    
225      /**
226       * Gets the "key-store-type" property.
227       * <p>
228       * Specifies the format for the data in the key store file.
229       * <p>
230       * Valid values should always include 'JKS' and 'PKCS12', but
231       * different implementations may allow other values as well. If no
232       * value is provided, the JVM-default value is used. Changes to this
233       * configuration attribute will take effect the next time that the
234       * key manager is accessed.
235       *
236       * @return Returns the value of the "key-store-type" property.
237       */
238      String getKeyStoreType();
239    
240    
241    
242      /**
243       * Sets the "key-store-type" property.
244       * <p>
245       * Specifies the format for the data in the key store file.
246       * <p>
247       * Valid values should always include 'JKS' and 'PKCS12', but
248       * different implementations may allow other values as well. If no
249       * value is provided, the JVM-default value is used. Changes to this
250       * configuration attribute will take effect the next time that the
251       * key manager is accessed.
252       *
253       * @param value The value of the "key-store-type" property.
254       * @throws IllegalPropertyValueException
255       *           If the new value is invalid.
256       */
257      void setKeyStoreType(String value) throws IllegalPropertyValueException;
258    
259    }