You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WebLogic12c使用WLST解密控制台密码报JSAFE_PaddingException错误

WebLogic 12c解密控制台密码报错Invalid padding解决方案

报错根因

com.rsa.jsafe.JSAFE_PaddingException: Invalid padding 报错的核心原因是:你当前调用的加密服务使用的密钥,和加密你待解密密文的密钥不匹配,WebLogic的域加密密钥存放在域下security/SerializedSystemIni.dat文件中,密钥和密文必须一一对应才能正常解密。

排查及解决步骤

  • 第一步:修正环境变量加载逻辑,避免全局环境和域环境冲突
    不要加载全局WebLogic环境,直接加载目标域的环境变量:
    cd /webapps/maint/maint35_install/domain/bin
    source setDomainEnv.sh
    
  • 第二步:确认待解密的密文来源合法
    你要解密的密文必须是从当前目标域的以下文件中提取的,不能使用其他域生成的密文:
    • config/config.xml中存储的管理账号密码、节点管理器密码标签值
    • security/boot.properties中存储的加密后用户名、密码值
  • 第三步:调整WLST解密命令的参数,修正域路径配置
    调用加密服务时建议直接指向域的security目录,完整执行逻辑如下:
    # 执行域下自带的wlst,不要用全局Oracle_Home下的wlst
    ./bin/wlst.sh
    wls:/offline> sec_path = "/webapps/maint/maint35_install/domain/security/"
    wls:/offline> service = weblogic.security.internal.SerializedSystemIni.getEncryptionService(sec_path)
    wls:/offline> enc_svc = weblogic.security.internal.encryption.ClearOrEncryptedService(service)
    wls:/offline> # 替换为你从当前域对应文件中提取的真实密文
    wls:/offline> print enc_svc.decrypt("{AES}WDhZb5/IP95P4eM8jwYITiZs01kawSeliV59aFog1jE=")
    
  • 第四步:解密失败的替代方案,直接重置控制台密码
    如果确认密文和域匹配但依然解密失败,大概率是Maintenix生成域时做了自定义加密配置,可直接重置密码无需解密:
    1. 停止域的管理服务器
    2. 备份域下security/DefaultAuthenticatorMyrealmInit.ldift文件
    3. 在域根目录下执行命令生成新的管理员账号:
    java weblogic.security.utils.AdminAccount 新管理员账号 新管理员密码 security/
    
    1. 修改security/boot.properties文件,把里面的用户名和密码改为你刚设置的明文值,启动管理服务器后WebLogic会自动对文件内容做加密处理,之后就可以用新账号登录控制台。

内容的提问来源于stack exchange,提问作者Nick G.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 14:39:02