如何加密挑战短语并回答OpenAM丢失密码管理?

时间:2014-11-28 02:26:09

标签: openam

我最近不得不为OpenAM实施转换挑战问题和密码。

计划是将这些值转换为LDIF文件中用户条目的一部分并加载它。要完成的属性是iplanet-am-user-password-reset-question-answer。这是一个多值属性,支持多个问题/答案对。

质询问题密钥,答案和问题密钥以及问题状态标记必须组合在一个由制表符分隔的单行中。

[question-key]\t[answer]\t[1|0]

该值需要加密。这是用于加密的类,但它不起作用。

AMPasswordUtil().encrypt(question.get(challenge) + "\t" + response + "\t1")

如何使这项工作?

1 个答案:

答案 0 :(得分:1)

最后放弃并放弃了ForgeRock支持的一个问题。他们非常有帮助,并提供了解决方案,它立即起作用。这是......

事实证明不应该使用AMPasswordUtil类。相反应该使用

encrypted_str = AccessController.doPrivileged(new EncodeAction( clear_text_str ))

需要将加密密钥设置为系统属性

System.setProperty("am.encryption.pwd", key );

可以从OpenAM中检索加密密钥。