Encryption 从OpenAM SDK更改LDAP数据存储配置

Encryption 从OpenAM SDK更改LDAP数据存储配置,encryption,ldap,single-sign-on,openam,opensso,Encryption,Ldap,Single Sign On,Openam,Opensso,当使用OpenAM SDK更改数据存储配置时,除了密码之外,其他一切都可以正常工作。密码重置为空字符串,即使我给出了相关属性“sun-idrepo-ldapv3-config-authpw”。我尝试了很多情况:从属性中删除字段,并给出一组字符串。他们中没有一个人使我的密码完好无损 以下是我的部分代码: fun setDataStoreConfig(realmName: String, storeName: String, newAttrs: Map<*,*>) { val srv

当使用OpenAM SDK更改数据存储配置时,除了密码之外,其他一切都可以正常工作。密码重置为空字符串,即使我给出了相关属性“sun-idrepo-ldapv3-config-authpw”。我尝试了很多情况:从属性中删除字段,并给出一组字符串。他们中没有一个人使我的密码完好无损

以下是我的部分代码:

fun setDataStoreConfig(realmName: String, storeName: String, newAttrs: Map<*,*>) {
  val srvConf = ServiceConfigManager(IdConstants.REPO_SERVICE, getUserSSOToken())
  val orgConf = srvConf.getOrganizationConfig(realmName, null)
  val subConf = orgConf.getSubConfig(storeName)
  val attrs =  subConf.attributes
  attrs.putAll(newAttrs)
  attrs["sun-idrepo-ldapv3-config-authpw"]=setOf("*********")
  subConf.attributes = attrs
}
fun setDataStoreConfig(realmName:String,storeName:String,newAttrs:Map){
val srvConf=ServiceConfigManager(IdConstants.REPO_服务,getUserSSOToken())
val orgConf=srvConf.getOrganizationConfig(realmName,null)
val subcontracf=orgConf.getsubcontracfig(storeName)
val ATTR=子类别属性
属性putAll(新属性)
属性[“sun-idrepo-ldapv3-config-authpw”]=集合(“**********”)
subclef.attributes=attrs
}

ClientSDK和OpenAM服务器必须使用相同的加密密钥(ClientSDK端的AMConfig.properties中的am.encryption.pwd属性)


请记住,ClientSDK已被弃用,强烈反对在新部署中使用它。

显然,在将此信息保存到目录服务中时,会添加一些salt!我不确定盐是由OpenAM或OpenDJ本身添加的!请帮帮我!我别无选择!OpenAM13有缺陷(必须使用OpenDJ3才有缺陷!)我使用的是OpenAM12,对于这样的操作没有RESTfulAPI!你的解决方案解决了我的问题!真的谢谢!我浪费了大约2个工作日,最后通过从目录服务中保留密码并使用OpenDJ SDK再次恢复密码临时修复了问题!但是现在我解决了这个问题,并且重新移动了脏的DS代码!