Package com.sun.identity.security
Class DecodeAction
java.lang.Object
com.sun.identity.security.DecodeAction
- All Implemented Interfaces:
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 Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDecodeAction(String svalue) Non default constructor to be used when adoPrivileged()is performed for the decryption operations.DecodeAction(String value, com.iplanet.services.util.AMEncryption encrKey) -
Method Summary
-
Field Details
-
value
-
encr
protected com.iplanet.services.util.AMEncryption encr
-
-
Constructor Details
-
DecodeAction
Non default constructor to be used when adoPrivileged()is performed for the decryption operations.- Parameters:
svalue- Value of string to be encoded/decoded
-
DecodeAction
- Parameters:
value- Value to be decodedencrKey- Encryption object to be used for decoding
-
-
Method Details
-
run
- Specified by:
runin interfacePrivilegedAction<String>
-