Weblogicアプリケーションサーバーで使用したjdbcデータソースのパスワードを回復する方法はありますか?変更することもできますが、データベースをどこで使用するかが完全にはわからないため、かなり複雑になります。
私はサーバーの完全な管理者権限を持っているので、何かを検索する必要がある場合は、構成ファイルなどで問題ありません。
私はこれを多くの成功で使用しました:
http://recover-weblogic-password.appspot.com/
または、ローカルで実行することもできます ここからの指示 または コードはここにあります :
/$BEA_HOME/wlserver_10.3/common/bin/wlst.sh decryptPassword.py /full/path/to/weblogic-domain/ "{3DES}s0meCr4zyH4$hedV4lue="
新しいバージョンのconfig.xmlや* -datasource.xmlなどのweblogic構成ファイルでは、パスワードは暗号化されます。
<password-encrypted>{3DES}oxUmxhBtdfe0h+0000oWHrl18jw==</password-encrypted>
アプリケーションコードのSpring用のapplicationContext.xmlのようなファイルに内部構成がある場合は、この種の何かで幸運かもしれません
<bean id="myDataSource"
class="org.Apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="Oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:Oracle:thin:@x.x.x.x:1522:portaldb" />
<property name="username" value="myUser" />
<property name="password" value="myPassword" />
これはJavaバージョン:
import weblogic.security.internal.SerializedSystemIni;
import weblogic.security.internal.encryption.ClearOrEncryptedService;
import weblogic.security.internal.encryption.EncryptionService;
public class WeblogicDecrypt{
public static void main(String[] args){
String pass = "{3DES}**********";
EncryptionService service= SerializedSystemIni.getEncryptionService("c:\\yourDomain\\");
ClearOrEncryptedService clear = new ClearOrEncryptedService(service);
String psw = clear.decrypt(pass);
System.out.println("password:" + psw);
}
}
必要なjarは、weblogicサーバーのlibフォルダーにあります。