为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

weblogic服务启动错误

2019-06-17 7页 doc 25KB 51阅读

用户头像

is_977556

暂无简介

举报
weblogic服务启动错误Caused By: com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad byte. 有时候,复制config.xml到其它一个WebLogic domain下修改后启动(通常用于手动复制集群节点的操作), 或者Domain中的文件遭到了部分损坏, 那么启动过程中, 会在出现Security错误后,服务器进入强制退出状态, 一份可能的log如下所示:
weblogic服务启动错误
Caused By: com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad byte. 有时候,复制config.xml到其它一个WebLogic domain下修改后启动(通常用于手动复制集群节点的操作), 或者Domain中的文件遭到了部分损坏, 那么启动过程中, 会在出现Security错误后,服务器进入强制退出状态, 一份可能的log如下所示: <2011-6-25 下午09时57分30秒 CST> <2011-6-25 下午09时57分30秒 CST> <2011-6-25 下午09时57分30秒 CST> <2011-6-25 下午09时57分30秒 CST>   Log中粗体的的部分显示了出错的真正原因是在JSAFE包中进行解密(decrypt)时报错, 而调用此功能的是WebLogic安全模块的解密字符串方法. JSafe是rsa公司出品的一个收费的加密解密安全相关的软件包. 后台细节不必深究, 我们只需要关注解密字符串的部分即可.  首先需要指出的是密码加密后的内容只和文件 $domAIN_HOME/security/SerializedSystemIni.dat 相关. 解决方法1: 修改config.xml中的加密内容. 首先, 必须找一份能正常运行的Domain文件, 然后使用 如何破解WebLogic管理密码? 中提到的解密工具, 来得到原始密码. 需要解密的config.xml中的内容如下粗体部分所示: myrealm (1) {AES}QIo54gGfn2Y+y62DqTCE7Q01ll5DF48PbAI1gBX22wR8sWEuVlvdHXSc9kDAfknTJGfo1n1bO/RxkYMogv4XNZ4bFTmbAe1zYfpsBtSFbzI97Y2HE3lwd5c9dv9gDISU weblogic (2) {AES}stQ8+dVzw1jEDpF4xj+ub1m460793ijKqI0YBhpkZNE= …. 1034 (3)  {AES}OYLOL/6/sVdiwG/rkqTj8U2TdFUXIa9PgZRzWKlJqju1cVvUFKcWzqir1N4qtQHy (1) 解密后的内容是WebLogic启动密码, (2), (3) 则为数字(似乎是随机的内容). 然后需要动用WebLogic自带的明文加密工具 weblogic.security.Encrypt , 在新的domain中得出这几个密码的新内容并替换到正确的位置中. 相关文档请访问 #wp1209592. 如果boot.properties有类似问题, 使用相同方法处理后即可. 解决方法2: 替换新Domain中的 SerializedSystemIni.dat  为能正常运行的Domain中的相同文件, 此方法步骤最简单(不推荐, 可能有安全隐患). 恢复忘记了的WebLogic密码 分类: weblogic 2010-11-24 10:33 72人阅读 评论(0) 收藏 举报 原文地址: 忘记或者丢失WebLogic管理员密码这样的事虽然不常碰到,但是也偶尔会有,如果碰着是你的生产环境或者其他重要环境,还是挺头疼的。但实际上也是有办法。 如果是WebLogic 8.1,那么照着以下的步骤做就可以了。 1. cd到你的域目录(domain home),如C:/bea/wls816/user_projects/domains/my_domain 2. 运行java -cp /weblogic81/server/lib/weblogic.jar weblogic.security.utils.AdminAccount adminuser adminpassword . 注意:你可以选择a). 像这里的这条命令一样,设置你WebLogic8.1产品安装路径下weblogic81/server/lib/weblogic.jar的全路径来设置CLASSPATH;b). 也可以在命令行窗口通过运行域目录下的setEnv.cmd/sh来获得已经设置好的CLASSPATH。 参数第一个adminuser是你增加一个新用户的用户名;第二个参数adminpassword是该新用户的密码;第三个参数(一个.)是指当前目录(域目录) 3. rm myserver/ldap/DefaultAuthenticatormyrealmInit.initialized (Windows是del) 4. rm boot.properties   (如果有的话) 5. 重新启动你的Server(你也可以选择把刚才的新帐号和密码写入一个新的boot.properties文件后再启动),然后你可以用新帐号登录Admin Console,并重置原帐号的密码。 如果是WebLogic 9或者10,做法类似,步骤如下: 1. cd到你的域目录下的security,如C:/bea/wls103/user_projects/domains/my_domain/security 2. rm DefaultAuthenticatorInit.ldift 3. 运行java -cp 说明
。 这步会创建一个新的DefaultAuthenticatorInit.ldift文件 4. cd到/servers//data/ldap 5. rm DefaultAuthenticatormyrealmInit.initialized 6. 重启你的Server,用新帐号登录Admin Console,然后你就可以重置原帐号的密码了。 还有WebLogic本身也提供了一个比较简单的命令,但是这个命令是正向而不是反向的,即由密码到加密字符串,而不是解密。你需要用尝试常用的密码,然后比较密码加密串是不是boot.properties里面的值。该命令用法如下: 首先,进入你的域,执行setdomainEnv.cmd/sh(8.1好像是setEnv.cmd/sh),得到环境变量设置后,进入域目录,运行: java  WebLogic.security.Encrypt [ password ] 系统即会显示加密后的串是什么。如果你不想运行setEnv,你可以直接运行 java -cp ......./weblogic.jar -Dweblogic.RootDirectory=DOMAIN_HOME_DIR weblogic.security.Encrypt [ password ] 该用法不涉及删除文件,显得很只读很保险,值得一试。 另外如果你还可了解更深入些,“破解”原来的密码,你你可以看看本文的续篇: 。
/
本文档为【weblogic服务启动错误】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索