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

忘记WebLogic 12C管理员密码如何重置?解密boot.properties报错

WebLogic 12C 管理员密码重置方案

你之前尝试直接解密boot.properties恢复密码时抛出weblogic.security.internal.encryption.EncryptionServiceException: com.rsa.jsafe.JSAFE_PaddingException: Invalid padding异常,核心原因是boot.properties内的密文和对应域的SerializedSystemIni.dat加密密钥强绑定,你之前的操作没有在当前shell会话正确加载目标域的安全上下文,解密时调用了不匹配的密钥,才会触发填充错误。这种场景不需要强行恢复旧密码,走官方标准重置流程即可,全程不需要原密码,不会丢失现有域配置。

操作前置要求

  • 持有域所在服务器的操作系统账号权限,且账号对域目录有完整读写权限
  • 操作前完全停止域内的AdminServer、所有受管服务器、NodeManager进程,避免文件锁或配置不一致问题
  • 生产环境请选择业务低峰期操作,全程服务需要短暂停机

具体操作步骤

  1. 先备份安全配置文件,避免操作失误损坏配置:
    全量备份以下两个目录,存到和域目录无关的安全路径:

    • /apps/user/Oracle/Middleware/Oracle_Home/user_projects/domains/WCC_DOMAIN/security
    • /apps/user/Oracle/Middleware/Oracle_Home/user_projects/domains/WCC_DOMAIN/servers/AdminServer/security
      如果域下还有其他受管服务器,也一并备份对应受管服务器目录下的security文件夹。
  2. 加载域环境变量
    必须用source方式执行环境脚本,确保变量生效到当前shell会话,这也是之前解密操作报错的常见诱因:

    export JAVA_HOME=/apps/JDK/jdk1.8.0_221
    export PATH=$JAVA_HOME/bin:$PATH
    cd /apps/user/Oracle/Middleware/Oracle_Home/user_projects/domains/WCC_DOMAIN/bin
    source setDomainEnv.sh
    
  3. 进入WLST命令行执行密码重置
    切换到wlst工具路径,启动交互终端:

    cd /apps/user/Oracle/Middleware/Oracle_Home/oracle_common/common/bin
    ./wlst.sh
    

    进入wlst交互界面后,依次执行以下命令:

    # 进入域配置编辑模式
    edit()
    startEdit()
    # 切换到默认安全领域的用户配置节点,注意路径里的WCC_DOMAIN替换成你实际的域名
    cd('/SecurityConfiguration/WCC_DOMAIN/Realms/myrealm/AuthenticationProviders/DefaultAuthenticator')
    # 重置管理员密码,第一个参数是管理员账号(默认是weblogic,改过就填实际账号),第二个参数替换成你要设置的新密码
    cmo.resetUserPassword('weblogic','你的新管理员密码')
    # 保存并激活配置变更
    save()
    activate()
    # 退出wlst终端
    exit()
    
  4. 更新boot.properties配置
    找到AdminServer安全目录下的boot.properties文件,删除原有密文格式的username、password配置项,替换为明文内容:

    username=你的管理员账号
    password=你刚设置的新密码
    

    不需要手动加密这两个值,WebLogic第一次启动时会自动将明文加密为域绑定的密文,覆盖原文件内容。
    如果域下有受管服务器,找到每个受管服务器对应security目录下的boot.properties,做同样的明文替换,避免受管服务器启动时认证失败。

  5. 启动验证
    先启动AdminServer,观察启动日志无报错后,用新密码登录WebLogic控制台验证功能正常,再依次启动NodeManager和所有受管服务器即可。

旧解密方法报错补充说明

你之前使用的BootProperties解密脚本逻辑本身没有问题,但执行时必须满足两个前提:一是当前shell会话已经通过source加载了目标域的setDomainEnv.sh环境变量,二是执行解密命令的工作路径必须在目标域的根目录下,保证脚本能正确读取到域下的security/SerializedSystemIni.dat密钥文件,两个条件缺一个就会触发你遇到的填充错误。相比折腾解密旧密码,上述重置流程操作更简单,稳定性更高,不会出现解密失败的问题。

内容的提问来源于stack exchange,提问作者Cris_new

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 16:06:26