WSO2 IS用户存储属性=密码加密失败错误



在IS启动时,WSO2 IS.会给出以下错误日志

TID: [-1234] [Framework Event Dispatcher: Equinox Container: d811a5a1-f0c4-4281-a1db-ce17d0928da4] ERROR {org.wso2.carbon.user.core.config.UserStoreConfigXMLProcessor} - [] encryption of Property=password failed 
org.bouncycastle.jcajce.provider.util.BadBlockException: unable to decrypt block
at org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi.getOutput(Unknown Source) ~[bcprov-jdk15on-1.70.jar:1.70.0]
at org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi.engineDoFinal(Unknown Source) ~[bcprov-jdk15on-1.70.jar:1.70.0]
at javax.crypto.Cipher.doFinal(Cipher.java:2164) ~[?:1.8.0_191]
at org.wso2.carbon.user.core.config.UserStoreConfigXMLProcessor.decryptProperty(UserStoreConfigXMLProcessor.java:469) ~[org.wso2.carbon.user.core_4.6.0.87.jar:?]
at org.wso2.carbon.user.core.config.UserStoreConfigXMLProcessor.resolveEncryption(UserStoreConfigXMLProcessor.java:338) [org.wso2.carbon.user.core_4.6.0.87.jar:?]
...

错误日志显示密码未加密。那么,可以采取哪些步骤来解决这个问题呢?

要解决此问题,请执行以下步骤。

第一个场景(对于JDBC用户存储(

  • 首先,尝试查找中是否提到了错误的用户存储CCD_ 1文件。

  • 如果是,请转到<IS_HOME>/repository/deployment/server/userstores并打开用户存储CCD_ 3文件。

  • 然后找到<Property name="password">****</Property>这可能甚至包含一个额外的属性,如encrypted="true"

  • 在这里,您可以找到加密的密码。

  • 然后将其更改为此并保存。<Property name="password" encrypted="false">the non encrypted password</Property>

  • 确保在加密的<Property name="password">...</Property>之间添加未加密的密码。如果设置为false。

  • 并检查wso2carbon.log是否出现错误。如果不是,问题已经解决。

第二种情况

  • .xml文件更改无效。

  • 然后启动管理控制台,转到用户存储区,列出用户存储区并在那里更新密码(您应该键入未加密的密码(。

  • 检查wso2carbon.log0是否出现错误。如果没有,问题就解决了。

第三种情况

  • 即使wso2carbon.log中提到的用户存储在第一和第二种情况下消失,问题仍然存在。

  • 然后打开管理控制台并列出用户存储,以检查是否存在所有用户存储。

  • 如果缺少用户存储,则错误与此相关,而不是wso2carbon.log中提到的错误。wso2carbon.log仅显示与最后一个用户存储相关的日志。

  • 按照场景2中的步骤更新未列出的用户存储的密码。

第四种情况

  • 场景1和2不起作用,所有用户存储都在管理控制台中列出。

  • 然后列出用户和角色,并列出那里的用户存储。如果没有用户商店在那里列出,那么问题与此有关。

  • 然后按照场景2中的步骤进行修复。

第五种情况

  • .xml文件中没有<Property name="password">***</Property>

  • 然后,与该用户存储相关的用户存储可以是LDAP或AD。

  • 尝试在.xml文件中查找<Property name="ConnectionPassword">****</Property>,然后按照1到4的步骤进行操作。

如果所有场景都不起作用,并且有一个自定义用户存储正在运行,请获取该用户存储的源代码并对其进行调试。

即使有一个自定义用户存储正在运行,上述步骤也应该有助于缩小问题范围。

相关内容

  • 没有找到相关文章

最新更新