mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noel Rouvignac
24.54.2014 a771fcaf1dc80a6c7ea29bde04adba0179f420d8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
  ! or http://forgerock.org/license/CDDLv1.0.html.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at legal-notices/CDDLv1_0.txt.
  ! If applicable, add the following below this CDDL HEADER, with the
  ! fields enclosed by brackets "[]" replaced with your own identifying
  ! information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2010-2014 ForgeRock AS
  !      Portions Copyright 2012 Dariusz Janny <dariusz.janny@gmail.com>
  ! -->
<adm:managed-object name="crypt-password-storage-scheme"
  plural-name="crypt-password-storage-schemes"
  package="org.opends.server.admin.std"
  extends="password-storage-scheme"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides a mechanism for encoding user passwords like Unix crypt does.
    Like on most Unix systems, the password may be encrypted using different
    algorithms, either Unix crypt, md5, sha256 or sha512.
  </adm:synopsis>
  <adm:description>
    This scheme contains only an implementation for the user password
    syntax, with a storage scheme name of "CRYPT". Like on most Unixes, the
    "CRYPT" storage scheme has different algorithms, the default being Unix
    crypt.
 
    Warning: even though Unix crypt is a one-way digest, it is very weak by
    today's standards. Only the first 8 characters in a password are used, and
    it only uses the bottom 7 bits of each character. It only supports a 12-bit
    salt (meaning that there are only 4096 possible ways to encode a given
    password), so it is vulnerable to dictionary attacks.
 
    You should therefore use this algorithm only in cases where an external
    application expects to retrieve the password and verify it outside of the
    directory, instead of by performing an LDAP bind.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-crypt-password-storage-scheme</ldap:name>
      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.CryptPasswordStorageScheme
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
    <adm:property name="crypt-password-storage-encryption-algorithm" mandatory="true">
    <adm:synopsis>
      Specifies the algorithm to use to encrypt new passwords.
    </adm:synopsis>
    <adm:description>
      Select the crypt algorithm to use to encrypt new passwords.
      The value can either be "unix", which means the password is encrypted
      with the weak Unix crypt algorithm, or "md5" which means the password is
      encrypted with the BSD MD5 algorithm and has a $1$ prefix,
      or "sha256" which means the password is encrypted with the SHA256
      algorithm and has a $5$ prefix, or "sha512" which means the password is
      encrypted with the SHA512 algorithm and has a $6$ prefix.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>unix</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="unix">
          <adm:synopsis>
            New passwords are encrypted with the Unix crypt algorithm. Passwords
            are truncated at 8 characters and the top bit of each character is
            ignored.
          </adm:synopsis>
        </adm:value>
        <adm:value name="md5">
          <adm:synopsis>
            New passwords are encrypted with the BSD MD5 algorithm.
          </adm:synopsis>
        </adm:value>
        <adm:value name="sha256">
          <adm:synopsis>
            New passwords are encrypted with the Unix crypt SHA256 algorithm.
          </adm:synopsis>
        </adm:value>
        <adm:value name="sha512">
          <adm:synopsis>
            New passwords are encrypted with the Unix crypt SHA512 algorithm.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-crypt-password-storage-encryption-algorithm</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>