From 66e851eb4f47f909a235549ead09ef159fd20f88 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Mon, 10 Sep 2007 00:56:52 +0000
Subject: [PATCH] Add support for password storage schemes using AES, 3DES, RC4, and Blowfish. The AES, RC4, and Blowfish implementations all use 128-bit ciphers, and the 3DES implementation uses a 168-bit cipher.

---
 opends/src/server/org/opends/server/extensions/ExtensionsConstants.java |   98 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 98 insertions(+), 0 deletions(-)

diff --git a/opends/src/server/org/opends/server/extensions/ExtensionsConstants.java b/opends/src/server/org/opends/server/extensions/ExtensionsConstants.java
index 2aaac17..aece32e 100644
--- a/opends/src/server/org/opends/server/extensions/ExtensionsConstants.java
+++ b/opends/src/server/org/opends/server/extensions/ExtensionsConstants.java
@@ -118,6 +118,88 @@
 
 
   /**
+   * The cipher transformation that should be used when performing 3DES
+   * encryption/decription.
+   */
+  public static final String CIPHER_TRANSFORMATION_3DES =
+       "DESede/CFB/NoPadding";
+
+
+
+  /**
+   * The cipher transformation that should be used when performing AES
+   * encryption/decription.
+   */
+  public static final String CIPHER_TRANSFORMATION_AES = "AES/CFB/NoPadding";
+
+
+
+  /**
+   * The cipher transformation that should be used when performing blowfish
+   * encryption/decription.
+   */
+  public static final String CIPHER_TRANSFORMATION_BLOWFISH =
+       "Blowfish/CFB/NoPadding";
+
+
+
+  /**
+   * The cipher transformation that should be used when performing RC4
+   * encryption/decription.
+   */
+  public static final String CIPHER_TRANSFORMATION_RC4 = "RC4";
+
+
+
+  /**
+   * The key size (in bits) that should be used for the encryption key when
+   * using the 3DES cipher.
+   */
+  public static final int KEY_SIZE_3DES = 168;
+
+
+
+  /**
+   * The key size (in bits) that should be used for the encryption key when
+   * using the AES cipher.
+   */
+  public static final int KEY_SIZE_AES = 128;
+
+
+
+  /**
+   * The key size (in bits) that should be used for the encryption key when
+   * using the Blowfish cipher.
+   */
+  public static final int KEY_SIZE_BLOWFISH = 128;
+
+
+
+  /**
+   * The key size (in bits) that should be used for the encryption key when
+   * using the RC4 cipher.
+   */
+  public static final int KEY_SIZE_RC4 = 128;
+
+
+
+  /**
+   * The password storage scheme name that will be used for passwords that are
+   * stored in 3DES-encrypted form.
+   */
+  public static final String STORAGE_SCHEME_NAME_3DES = "3DES";
+
+
+
+  /**
+   * The password storage scheme name that will be used for passwords that are
+   * stored in AES-encrypted form.
+   */
+  public static final String STORAGE_SCHEME_NAME_AES = "AES";
+
+
+
+  /**
    * The password storage scheme name that will be used for passwords that are
    * stored in base64-encoded form (virtually no protection, but the value is
    * reversible).
@@ -128,6 +210,14 @@
 
   /**
    * The password storage scheme name that will be used for passwords that are
+   * stored in Blowfish-encrypted form.
+   */
+  public static final String STORAGE_SCHEME_NAME_BLOWFISH = "BLOWFISH";
+
+
+
+  /**
+   * The password storage scheme name that will be used for passwords that are
    * not encoded or obscured in any way.
    */
   public static final String STORAGE_SCHEME_NAME_CLEAR = "CLEAR";
@@ -143,6 +233,14 @@
 
 
   /**
+   * The password storage scheme name that will be used for passwords that are
+   * stored in RC4-encrypted form.
+   */
+  public static final String STORAGE_SCHEME_NAME_RC4 = "RC4";
+
+
+
+  /**
    * The password storage scheme name that will be used for passwords stored in
    * a salted MD5 representation.
    */

--
Gitblit v1.10.0