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.meta.BackendCfgDefn.WritabilityMode; 033import org.opends.server.admin.std.server.TrustStoreBackendCfg; 034 035 036 037/** 038 * A client-side interface for reading and modifying Trust Store 039 * Backend settings. 040 * <p> 041 * The Trust Store Backend provides an LDAP view of a file-based trust 042 * store. It is used by the administrative cryptographic framework. 043 */ 044public interface TrustStoreBackendCfgClient extends BackendCfgClient { 045 046 /** 047 * Get the configuration definition associated with this Trust Store Backend. 048 * 049 * @return Returns the configuration definition associated with this Trust Store Backend. 050 */ 051 ManagedObjectDefinition<? extends TrustStoreBackendCfgClient, ? extends TrustStoreBackendCfg> definition(); 052 053 054 055 /** 056 * Gets the "java-class" property. 057 * <p> 058 * Specifies the fully-qualified name of the Java class that 059 * provides the backend 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 * Specifies the fully-qualified name of the Java class that 071 * provides the backend implementation. 072 * 073 * @param value The value of the "java-class" property. 074 * @throws PropertyException 075 * If the new value is invalid. 076 */ 077 void setJavaClass(String value) throws PropertyException; 078 079 080 081 /** 082 * Gets the "trust-store-file" property. 083 * <p> 084 * Specifies the path to the file that stores the trust information. 085 * <p> 086 * It may be an absolute path, or a path that is relative to the 087 * OpenDJ instance root. 088 * 089 * @return Returns the value of the "trust-store-file" property. 090 */ 091 String getTrustStoreFile(); 092 093 094 095 /** 096 * Sets the "trust-store-file" property. 097 * <p> 098 * Specifies the path to the file that stores the trust information. 099 * <p> 100 * It may be an absolute path, or a path that is relative to the 101 * OpenDJ instance root. 102 * 103 * @param value The value of the "trust-store-file" property. 104 * @throws PropertyException 105 * If the new value is invalid. 106 */ 107 void setTrustStoreFile(String value) throws PropertyException; 108 109 110 111 /** 112 * Gets the "trust-store-pin" property. 113 * <p> 114 * Specifies the clear-text PIN needed to access the Trust Store 115 * Backend . 116 * 117 * @return Returns the value of the "trust-store-pin" property. 118 */ 119 String getTrustStorePin(); 120 121 122 123 /** 124 * Sets the "trust-store-pin" property. 125 * <p> 126 * Specifies the clear-text PIN needed to access the Trust Store 127 * Backend . 128 * 129 * @param value The value of the "trust-store-pin" property. 130 * @throws PropertyException 131 * If the new value is invalid. 132 */ 133 void setTrustStorePin(String value) throws PropertyException; 134 135 136 137 /** 138 * Gets the "trust-store-pin-environment-variable" property. 139 * <p> 140 * Specifies the name of the environment variable that contains the 141 * clear-text PIN needed to access the Trust Store Backend . 142 * 143 * @return Returns the value of the "trust-store-pin-environment-variable" property. 144 */ 145 String getTrustStorePinEnvironmentVariable(); 146 147 148 149 /** 150 * Sets the "trust-store-pin-environment-variable" property. 151 * <p> 152 * Specifies the name of the environment variable that contains the 153 * clear-text PIN needed to access the Trust Store Backend . 154 * 155 * @param value The value of the "trust-store-pin-environment-variable" property. 156 * @throws PropertyException 157 * If the new value is invalid. 158 */ 159 void setTrustStorePinEnvironmentVariable(String value) throws PropertyException; 160 161 162 163 /** 164 * Gets the "trust-store-pin-file" property. 165 * <p> 166 * Specifies the path to the text file whose only contents should be 167 * a single line containing the clear-text PIN needed to access the 168 * Trust Store Backend . 169 * 170 * @return Returns the value of the "trust-store-pin-file" property. 171 */ 172 String getTrustStorePinFile(); 173 174 175 176 /** 177 * Sets the "trust-store-pin-file" property. 178 * <p> 179 * Specifies the path to the text file whose only contents should be 180 * a single line containing the clear-text PIN needed to access the 181 * Trust Store Backend . 182 * 183 * @param value The value of the "trust-store-pin-file" property. 184 * @throws PropertyException 185 * If the new value is invalid. 186 */ 187 void setTrustStorePinFile(String value) throws PropertyException; 188 189 190 191 /** 192 * Gets the "trust-store-pin-property" property. 193 * <p> 194 * Specifies the name of the Java property that contains the 195 * clear-text PIN needed to access the Trust Store Backend . 196 * 197 * @return Returns the value of the "trust-store-pin-property" property. 198 */ 199 String getTrustStorePinProperty(); 200 201 202 203 /** 204 * Sets the "trust-store-pin-property" property. 205 * <p> 206 * Specifies the name of the Java property that contains the 207 * clear-text PIN needed to access the Trust Store Backend . 208 * 209 * @param value The value of the "trust-store-pin-property" property. 210 * @throws PropertyException 211 * If the new value is invalid. 212 */ 213 void setTrustStorePinProperty(String value) throws PropertyException; 214 215 216 217 /** 218 * Gets the "trust-store-type" property. 219 * <p> 220 * Specifies the format for the data in the key store file. 221 * <p> 222 * Valid values should always include 'JKS' and 'PKCS12', but 223 * different implementations may allow other values as well. 224 * 225 * @return Returns the value of the "trust-store-type" property. 226 */ 227 String getTrustStoreType(); 228 229 230 231 /** 232 * Sets the "trust-store-type" property. 233 * <p> 234 * Specifies the format for the data in the key store file. 235 * <p> 236 * Valid values should always include 'JKS' and 'PKCS12', but 237 * different implementations may allow other values as well. 238 * 239 * @param value The value of the "trust-store-type" property. 240 * @throws PropertyException 241 * If the new value is invalid. 242 */ 243 void setTrustStoreType(String value) throws PropertyException; 244 245 246 247 /** 248 * Gets the "writability-mode" property. 249 * <p> 250 * Specifies the behavior that the backend should use when 251 * processing write operations. 252 * 253 * @return Returns the value of the "writability-mode" property. 254 */ 255 WritabilityMode getWritabilityMode(); 256 257 258 259 /** 260 * Sets the "writability-mode" property. 261 * <p> 262 * Specifies the behavior that the backend should use when 263 * processing write operations. 264 * 265 * @param value The value of the "writability-mode" property. 266 * @throws PropertyException 267 * If the new value is invalid. 268 */ 269 void setWritabilityMode(WritabilityMode value) throws PropertyException; 270 271}