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 2006-2008 Sun Microsystems, Inc. 026 */ 027 package org.opends.server.extensions; 028 029 030 031 /** 032 * This class defines a number of constants that may be used by Directory Server 033 * extensions. 034 */ 035 public class ExtensionsConstants 036 { 037 /** 038 * The authentication password scheme name for use with passwords encoded in a 039 * salted MD5 representation. 040 */ 041 public static final String AUTH_PASSWORD_SCHEME_NAME_SALTED_MD5 = "MD5"; 042 043 044 045 /** 046 * The authentication password scheme name for use with passwords encoded in a 047 * salted SHA-1 representation. 048 */ 049 public static final String AUTH_PASSWORD_SCHEME_NAME_SALTED_SHA_1 = "SHA1"; 050 051 052 053 /** 054 * The authentication password scheme name for use with passwords encoded in a 055 * salted SHA-256 representation. 056 */ 057 public static final String AUTH_PASSWORD_SCHEME_NAME_SALTED_SHA_256 = 058 "SHA256"; 059 060 061 062 /** 063 * The authentication password scheme name for use with passwords encoded in a 064 * salted SHA-384 representation. 065 */ 066 public static final String AUTH_PASSWORD_SCHEME_NAME_SALTED_SHA_384 = 067 "SHA384"; 068 069 070 071 /** 072 * The authentication password scheme name for use with passwords encoded in a 073 * salted SHA-512 representation. 074 */ 075 public static final String AUTH_PASSWORD_SCHEME_NAME_SALTED_SHA_512 = 076 "SHA512"; 077 078 079 080 /** 081 * The name of the message digest algorithm that should be used to generate 082 * MD5 hashes. 083 */ 084 public static final String MESSAGE_DIGEST_ALGORITHM_MD5 = "MD5"; 085 086 087 088 /** 089 * The name of the message digest algorithm that should be used to generate 090 * SHA-1 hashes. 091 */ 092 public static final String MESSAGE_DIGEST_ALGORITHM_SHA_1 = "SHA-1"; 093 094 095 096 /** 097 * The name of the message digest algorithm that should be used to generate 098 * 256-bit SHA-2 hashes. 099 */ 100 public static final String MESSAGE_DIGEST_ALGORITHM_SHA_256 = "SHA-256"; 101 102 103 104 /** 105 * The name of the message digest algorithm that should be used to generate 106 * 384-bit SHA-2 hashes. 107 */ 108 public static final String MESSAGE_DIGEST_ALGORITHM_SHA_384 = "SHA-384"; 109 110 111 112 /** 113 * The name of the message digest algorithm that should be used to generate 114 * 512-bit SHA-2 hashes. 115 */ 116 public static final String MESSAGE_DIGEST_ALGORITHM_SHA_512 = "SHA-512"; 117 118 119 120 /** 121 * The cipher transformation that should be used when performing 3DES 122 * encryption/decription. 123 */ 124 public static final String CIPHER_TRANSFORMATION_3DES = 125 "DESede/CFB/NoPadding"; 126 127 128 129 /** 130 * The cipher transformation that should be used when performing AES 131 * encryption/decription. 132 */ 133 public static final String CIPHER_TRANSFORMATION_AES = "AES/CFB/NoPadding"; 134 135 136 137 /** 138 * The cipher transformation that should be used when performing blowfish 139 * encryption/decription. 140 */ 141 public static final String CIPHER_TRANSFORMATION_BLOWFISH = 142 "Blowfish/CFB/NoPadding"; 143 144 145 146 /** 147 * The cipher transformation that should be used when performing RC4 148 * encryption/decription. 149 * 150 * TODO: https://opends.dev.java.net/issues/show_bug.cgi?id=2471 151 */ 152 public static final String CIPHER_TRANSFORMATION_RC4 = "RC4/NONE/NoPadding"; 153 154 155 156 /** 157 * The key size (in bits) that should be used for the encryption key when 158 * using the 3DES cipher. 159 */ 160 public static final int KEY_SIZE_3DES = 168; 161 162 163 164 /** 165 * The key size (in bits) that should be used for the encryption key when 166 * using the AES cipher. 167 * TODO: https://opends.dev.java.net/issues/show_bug.cgi?id=2475 168 */ 169 public static final int KEY_SIZE_AES = 128; 170 171 172 173 /** 174 * The key size (in bits) that should be used for the encryption key when 175 * using the Blowfish cipher. 176 * TODO: https://opends.dev.java.net/issues/show_bug.cgi?id=2475 177 */ 178 public static final int KEY_SIZE_BLOWFISH = 128; 179 180 181 182 /** 183 * The key size (in bits) that should be used for the encryption key when 184 * using the RC4 cipher. 185 * TODO: https://opends.dev.java.net/issues/show_bug.cgi?id=2475 186 */ 187 public static final int KEY_SIZE_RC4 = 128; 188 189 190 191 /** 192 * The password storage scheme name that will be used for passwords that are 193 * stored in 3DES-encrypted form. 194 */ 195 public static final String STORAGE_SCHEME_NAME_3DES = "3DES"; 196 197 198 199 /** 200 * The password storage scheme name that will be used for passwords that are 201 * stored in AES-encrypted form. 202 */ 203 public static final String STORAGE_SCHEME_NAME_AES = "AES"; 204 205 206 207 /** 208 * The password storage scheme name that will be used for passwords that are 209 * stored in base64-encoded form (virtually no protection, but the value is 210 * reversible). 211 */ 212 public static final String STORAGE_SCHEME_NAME_BASE64 = "BASE64"; 213 214 215 216 /** 217 * The password storage scheme name that will be used for passwords that are 218 * stored in Blowfish-encrypted form. 219 */ 220 public static final String STORAGE_SCHEME_NAME_BLOWFISH = "BLOWFISH"; 221 222 223 224 /** 225 * The password storage scheme name that will be used for passwords that are 226 * not encoded or obscured in any way. 227 */ 228 public static final String STORAGE_SCHEME_NAME_CLEAR = "CLEAR"; 229 230 231 232 /** 233 * The password storage scheme name that will be used for passwords stored in 234 * an MD5 representation. 235 */ 236 public static final String STORAGE_SCHEME_NAME_MD5 = "MD5"; 237 238 239 240 /** 241 * The password storage scheme name that will be used for passwords that are 242 * stored in RC4-encrypted form. 243 */ 244 public static final String STORAGE_SCHEME_NAME_RC4 = "RC4"; 245 246 247 248 /** 249 * The password storage scheme name that will be used for passwords stored in 250 * a salted MD5 representation. 251 */ 252 public static final String STORAGE_SCHEME_NAME_SALTED_MD5 = "SMD5"; 253 254 255 256 /** 257 * The password storage scheme name that will be used for passwords stored in 258 * a SHA-1 representation. 259 */ 260 public static final String STORAGE_SCHEME_NAME_SHA_1 = "SHA"; 261 262 263 264 /** 265 * The password storage scheme name that will be used for passwords stored in 266 * a salted SHA-1 representation. 267 */ 268 public static final String STORAGE_SCHEME_NAME_SALTED_SHA_1 = "SSHA"; 269 270 271 272 /** 273 * The password storage scheme name that will be used for passwords stored in 274 * a salted SHA-256 representation. 275 */ 276 public static final String STORAGE_SCHEME_NAME_SALTED_SHA_256 = "SSHA256"; 277 278 279 280 /** 281 * The password storage scheme name that will be used for passwords stored in 282 * a salted SHA-384 representation. 283 */ 284 public static final String STORAGE_SCHEME_NAME_SALTED_SHA_384 = "SSHA384"; 285 286 287 288 /** 289 * The password storage scheme name that will be used for passwords stored in 290 * a salted SHA-512 representation. 291 */ 292 public static final String STORAGE_SCHEME_NAME_SALTED_SHA_512 = "SSHA512"; 293 294 295 296 /** 297 * The password storage scheme name that will be used for passwords stored in 298 * a UNIX crypt representation. 299 */ 300 public static final String STORAGE_SCHEME_NAME_CRYPT = "CRYPT"; 301 302 303 304 /** 305 * The string that will appear before the name of the password storage scheme 306 * in an encoded password. 307 */ 308 public static final String STORAGE_SCHEME_PREFIX = "{"; 309 310 311 312 /** 313 * The string that will appear after the name of the password storage scheme 314 * in an encoded password. 315 */ 316 public static final String STORAGE_SCHEME_SUFFIX = "}"; 317 318 319 320 /** 321 * The ASN.1 element type that will be used to encode the userIdentity 322 * component in a password modify extended request. 323 */ 324 public static final byte TYPE_PASSWORD_MODIFY_USER_ID = (byte) 0x80; 325 326 327 328 /** 329 * The ASN.1 element type that will be used to encode the oldPasswd component 330 * in a password modify extended request. 331 */ 332 public static final byte TYPE_PASSWORD_MODIFY_OLD_PASSWORD = (byte) 0x81; 333 334 335 336 /** 337 * The ASN.1 element type that will be used to encode the newPasswd component 338 * in a password modify extended request. 339 */ 340 public static final byte TYPE_PASSWORD_MODIFY_NEW_PASSWORD = (byte) 0x82; 341 342 343 344 /** 345 * The ASN.1 element type that will be used to encode the genPasswd component 346 * in a password modify extended response. 347 */ 348 public static final byte TYPE_PASSWORD_MODIFY_GENERATED_PASSWORD = 349 (byte) 0x80; 350 } 351