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