Package com.sun.identity.security
Class EncodeAction
java.lang.Object
com.sun.identity.security.EncodeAction
- All Implemented Interfaces:
PrivilegedAction<String>
The class is used to perform privileged operation with
AccessController.doPrivileged()
when using
com.iplanet.services.util.Crypt
to encode 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.encode/encrypt(str)
.
This line of code: String encStr =
com.iplanet.services.util.Crypt.encode(str) should be replaced with: String
encStr = (String) AccessController.doPrivileged( new EncodeAction(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
Modifier and TypeFieldDescriptionprotected com.iplanet.services.util.AMEncryption
protected boolean
protected byte[]
-
Constructor Summary
ConstructorDescriptionEncodeAction
(byte[] svalue) Non default constructor to be used when adoPrivileged()
is performed for the encryption operations.EncodeAction
(byte[] svalue, com.iplanet.services.util.AMEncryption encrKey) Non default constructor to be used when adoPrivileged()
is performed.EncodeAction
(String svalue) Non default constructor to be used when adoPrivileged()
is performed for the encryption operations.EncodeAction
(String svalue, com.iplanet.services.util.AMEncryption encrKey) Non default constructor to be used when adoPrivileged()
is performed. -
Method Summary
-
Field Details
-
value
protected byte[] value -
useSpecifiedKey
protected boolean useSpecifiedKey -
encr
protected com.iplanet.services.util.AMEncryption encr
-
-
Constructor Details
-
EncodeAction
Non default constructor to be used when adoPrivileged()
is performed for the encryption operations.- Parameters:
svalue
- Value of string to be encoded/decoded
-
EncodeAction
Non default constructor to be used when adoPrivileged()
is performed.- Parameters:
svalue
- Value to be encodedencrKey
-AMEncryption
Object to be used
-
EncodeAction
public EncodeAction(byte[] svalue) Non default constructor to be used when adoPrivileged()
is performed for the encryption operations.- Parameters:
svalue
- Value of bytes to be encoded/decoded
-
EncodeAction
public EncodeAction(byte[] svalue, com.iplanet.services.util.AMEncryption encrKey) Non default constructor to be used when adoPrivileged()
is performed.- Parameters:
svalue
- Value to be encodedencrKey
-AMEncryption
Object to be used
-
-
Method Details
-
run
- Specified by:
run
in interfacePrivilegedAction<String>
-