[ 
https://issues.apache.org/jira/browse/SYNCOPE-513?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Francesco Chicchiriccò updated SYNCOPE-513:
-------------------------------------------

    Description: 
In {{PasswordEncoder}} (1.1.X) / {{Encryptor}} (1.2.X) class the salt mechanism 
configuration is hardcoded
If the LDAP server doesn't use the same salt mechanism configuration, the 
password can't be matched during authentication.

For example {{SSHA}} is defined by RFC 2307 as:
{code}
digester.setIterations(1);
digester.setSaltSizeBytes(8);
digester.setInvertPositionOfPlainSaltInEncryptionResults(true);
digester.setInvertPositionOfSaltInMessageBeforeDigesting(true);
digester.setUseLenientSaltSizeCheck(true);
{code}

See [Jasypt's 
javadocs|http://jasypt.org/api/jasypt/1.9.2/org/jasypt/util/password/rfc2307/RFC2307SSHAPasswordEncryptor.html]
 for more details.

{{Encryptor}} can read from global configuration parameters so that you can 
configure some aspect of the way how ciphered values (not only password values 
in 1.2.X).

  was:
In {{PasswordEncoder}} (1.1.X) / {{Encryptor}} (1.2.X) class the salt mechanism 
configuration is hardcoded
If the LDAP server doesn't use the same salt mechanism configuration, the 
password can't be matched during authentication.

For example SSHA digest from OpenDJ uses a suffixed 8 bytes salt (in hash and 
plan)

Original:
{code}
            digester.setIterations(100000);
            digester.setSaltSizeBytes(16);
{code}

Modified for OpenDJ:
{code}
            digester.setIterations(1);
            digester.setSaltSizeBytes(8);
            digester.setInvertPositionOfPlainSaltInEncryptionResults(true);
            digester.setInvertPositionOfSaltInMessageBeforeDigesting(true);
{code}

{{Encryptor}} can read from global configuration parameters so that you can 
configure some aspect of the way how ciphered values (not only password values 
in 1.2.X).


> Make value encryption parametric
> --------------------------------
>
>                 Key: SYNCOPE-513
>                 URL: https://issues.apache.org/jira/browse/SYNCOPE-513
>             Project: Syncope
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.1.8
>            Reporter: Yann Diorcet
>            Assignee: Francesco Chicchiriccò
>             Fix For: 1.2.0
>
>
> In {{PasswordEncoder}} (1.1.X) / {{Encryptor}} (1.2.X) class the salt 
> mechanism configuration is hardcoded
> If the LDAP server doesn't use the same salt mechanism configuration, the 
> password can't be matched during authentication.
> For example {{SSHA}} is defined by RFC 2307 as:
> {code}
> digester.setIterations(1);
> digester.setSaltSizeBytes(8);
> digester.setInvertPositionOfPlainSaltInEncryptionResults(true);
> digester.setInvertPositionOfSaltInMessageBeforeDigesting(true);
> digester.setUseLenientSaltSizeCheck(true);
> {code}
> See [Jasypt's 
> javadocs|http://jasypt.org/api/jasypt/1.9.2/org/jasypt/util/password/rfc2307/RFC2307SSHAPasswordEncryptor.html]
>  for more details.
> {{Encryptor}} can read from global configuration parameters so that you can 
> configure some aspect of the way how ciphered values (not only password 
> values in 1.2.X).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to