<?xml version="1.0" encoding="UTF-8"?>
<!--
! CCPL HEADER START
!
! This work is licensed under the Creative Commons
! Attribution-NonCommercial-NoDerivs 3.0 Unported License.
! To view a copy of this license, visit
! or send a letter to Creative Commons, 444 Castro Street,
! Suite 900, Mountain View, California, 94041, USA.
!
! You can also obtain a copy of the license at
! See the License for the specific language governing permissions
! and limitations under the License.
!
! If applicable, add the following below this CCPL HEADER, with the fields
! enclosed by brackets "[]" replaced with your own identifying information:
! Portions Copyright [yyyy] [name of copyright owner]
!
! CCPL HEADER END
!
! Copyright 2011-2014 ForgeRock AS
!
-->
<refentry xml:id='encode-password-1'
xmlns='http://docbook.org/ns/docbook'
version='5.0' xml:lang='en'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='http://docbook.org/ns/docbook
<info><copyright><year>2011-2014</year><holder>ForgeRock AS</holder></copyright></info>
<refmeta>
<refentrytitle>encode-password</refentrytitle><manvolnum>1</manvolnum>
<refmiscinfo class="software">OpenDJ</refmiscinfo>
<refmiscinfo class="version"><?eval ${docTargetVersion}?></refmiscinfo>
</refmeta>
<refnamediv>
<refname>encode-password</refname>
<refpurpose>encode a password with an OpenDJ storage scheme</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>encode-password</command>
<arg choice="req">options</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>This utility can be used to encode user passwords with a specified
storage scheme, or to determine whether a given clear-text value matches a
provided encoded password.</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following global options are supported.</para>
<variablelist>
<varlistentry>
<term><option>-a, --authPasswordSyntax</option></term>
<listitem>
<para>Use the authentication password syntax rather than the user
password syntax.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-c, --clearPassword {clearPW}</option></term>
<listitem>
<para>Clear-text password to encode or to compare against an encoded
password.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-e, --encodedPassword {encodedPW}</option></term>
<listitem>
<para>Encoded password to compare against the clear-text password.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-E, --encodedPasswordFile {file}</option></term>
<listitem>
<para>Encoded password file.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-f, --clearPasswordFile {file}</option></term>
<listitem>
<para>Clear-text password file.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-i, --interactivePassword</option></term>
<listitem>
<para>The password to encode or to compare against an encoded password is
interactively asked to the user.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-l, --listSchemes</option></term>
<listitem>
<para>List available password storage schemes.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-r, --useCompareResultCode</option></term>
<listitem>
<para>Use the LDAP compare result as an exit code for the password
comparison.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-s, --storageScheme {scheme}</option></term>
<listitem>
<para>Scheme to use for the encoded password.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-V, --version</option></term>
<listitem>
<para>Display version information.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-?, -H, --help</option></term>
<listitem>
<para>Display usage information.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Exit Codes</title>
<variablelist>
<varlistentry>
<term>0</term>
<listitem>
<para>The command completed successfully.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>5</term>
<listitem>
<para>The <option>-r</option> option was used, and the compare did not
match.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>6</term>
<listitem>
<para>The <option>-r</option> option was used, and the compare did
match.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>other</term>
<listitem>
<para>An error occurred.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Examples</title>
<para>The following example encodes a password, and also shows comparison
of a password with the encoded value.</para>
<screen>
$ <userinput>encode-password -l</userinput>
<computeroutput>3DES
AES
BASE64
BLOWFISH
CLEAR
CRYPT
MD5
RC4
SHA
SMD5
SSHA
SSHA256
SSHA384
SSHA512</computeroutput>
$ <userinput>encode-password -c secret12 -s CRYPT</userinput>
<computeroutput>Encoded Password: "{CRYPT}ZulJ6Dy3TFnrE"</computeroutput>
$ <userinput>encode-password -c secret12 -s CRYPT -e "{CRYPT}ZulJ6Dy3TFnrE" -r</userinput>
<computeroutput>The provided clear-text and encoded passwords match</computeroutput>
$ <userinput>echo $?</userinput>
<computeroutput>6</computeroutput>
</screen>
</refsect1>
</refentry>