Class DecodeAction

java.lang.Object
com.sun.identity.security.DecodeAction
All Implemented Interfaces:
PrivilegedAction<String>

@SupportedAll public class DecodeAction extends Object implements PrivilegedAction<String>
The class is used to perform privileged operations with AccessController.doPrivileged() when using com.iplanet.services.util.Crypt to decode passwords. Ths class implements the interface PrivilegedAction with a non-default constructor. This class should be used in order to perform the privileged operation of com.iplanet.services.util.Crypt.decode/decrypt().

 This line of code: String decStr =
 com.iplanet.services.util.Crypt.decode(str) should be replaced with: String
 decStr = (String) AccessController.doPrivileged( new DecodeAction(str)); If
 this is not done and Java security permissions check is enabled, then the
 operation will fail and return a null every time.

 Note: Java security permissions check for OpenAM can be enabled by
 setting the property com.sun.identity.security.checkcaller to
 true in AMConfig properties file.

 
  • Field Details

    • value

      protected String value
    • encr

      protected com.iplanet.services.util.AMEncryption encr
  • Constructor Details

    • DecodeAction

      public DecodeAction(String svalue)
      Non default constructor to be used when a doPrivileged() is performed for the decryption operations.
      Parameters:
      svalue - Value of string to be encoded/decoded
    • DecodeAction

      public DecodeAction(String value, com.iplanet.services.util.AMEncryption encrKey)
      Parameters:
      value - Value to be decoded
      encrKey - Encryption object to be used for decoding
  • Method Details