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.PKCS11KeyManagerProviderCfg;
033
034
035
036/**
037 * A client-side interface for reading and modifying PKCS11 Key
038 * Manager Provider settings.
039 * <p>
040 * The PKCS11 Key Manager Provider enables the server to access the
041 * private key information through the PKCS11 interface.
042 */
043public interface PKCS11KeyManagerProviderCfgClient extends KeyManagerProviderCfgClient {
044
045  /**
046   * Get the configuration definition associated with this PKCS11 Key Manager Provider.
047   *
048   * @return Returns the configuration definition associated with this PKCS11 Key Manager Provider.
049   */
050  ManagedObjectDefinition<? extends PKCS11KeyManagerProviderCfgClient, ? extends PKCS11KeyManagerProviderCfg> 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
058   * PKCS11 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
070   * PKCS11 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-pin" property.
082   * <p>
083   * Specifies the clear-text PIN needed to access the PKCS11 Key
084   * Manager Provider .
085   *
086   * @return Returns the value of the "key-store-pin" property.
087   */
088  String getKeyStorePin();
089
090
091
092  /**
093   * Sets the "key-store-pin" property.
094   * <p>
095   * Specifies the clear-text PIN needed to access the PKCS11 Key
096   * Manager Provider .
097   *
098   * @param value The value of the "key-store-pin" property.
099   * @throws PropertyException
100   *           If the new value is invalid.
101   */
102  void setKeyStorePin(String value) throws PropertyException;
103
104
105
106  /**
107   * Gets the "key-store-pin-environment-variable" property.
108   * <p>
109   * Specifies the name of the environment variable that contains the
110   * clear-text PIN needed to access the PKCS11 Key Manager Provider .
111   *
112   * @return Returns the value of the "key-store-pin-environment-variable" property.
113   */
114  String getKeyStorePinEnvironmentVariable();
115
116
117
118  /**
119   * Sets the "key-store-pin-environment-variable" property.
120   * <p>
121   * Specifies the name of the environment variable that contains the
122   * clear-text PIN needed to access the PKCS11 Key Manager Provider .
123   *
124   * @param value The value of the "key-store-pin-environment-variable" property.
125   * @throws PropertyException
126   *           If the new value is invalid.
127   */
128  void setKeyStorePinEnvironmentVariable(String value) throws PropertyException;
129
130
131
132  /**
133   * Gets the "key-store-pin-file" property.
134   * <p>
135   * Specifies the path to the text file whose only contents should be
136   * a single line containing the clear-text PIN needed to access the
137   * PKCS11 Key Manager Provider .
138   *
139   * @return Returns the value of the "key-store-pin-file" property.
140   */
141  String getKeyStorePinFile();
142
143
144
145  /**
146   * Sets the "key-store-pin-file" property.
147   * <p>
148   * Specifies the path to the text file whose only contents should be
149   * a single line containing the clear-text PIN needed to access the
150   * PKCS11 Key Manager Provider .
151   *
152   * @param value The value of the "key-store-pin-file" property.
153   * @throws PropertyException
154   *           If the new value is invalid.
155   */
156  void setKeyStorePinFile(String value) throws PropertyException;
157
158
159
160  /**
161   * Gets the "key-store-pin-property" property.
162   * <p>
163   * Specifies the name of the Java property that contains the
164   * clear-text PIN needed to access the PKCS11 Key Manager Provider .
165   *
166   * @return Returns the value of the "key-store-pin-property" property.
167   */
168  String getKeyStorePinProperty();
169
170
171
172  /**
173   * Sets the "key-store-pin-property" property.
174   * <p>
175   * Specifies the name of the Java property that contains the
176   * clear-text PIN needed to access the PKCS11 Key Manager Provider .
177   *
178   * @param value The value of the "key-store-pin-property" property.
179   * @throws PropertyException
180   *           If the new value is invalid.
181   */
182  void setKeyStorePinProperty(String value) throws PropertyException;
183
184}