3

InitialContextの環境パラメータとして次のプロパティを使用して、JNDIクライアントからWeblogicInitialContextを取得できます。

Hashtable jndiProps = new Hashtable();
jndiProps.put("java.naming.factory.initial", "t3://localhost:7001");
jndiProps.put("java.naming.provider.url", "weblogic.jndi.WLInitialContextFactory");
jndiProps.put("java.naming.security.principal", "weblogic");
jndiProps.put("java.naming.security.credentials", "weblogic");

InitialContext ctx = new InitialContext(jndiProps);

問題は、security.credentialsをクリアテキストとしてではなくハッシュ値として指定せずにInitialContextを取得する方法はありますか?

4

2 に答える 2

1

対称暗号化を使用して、パスワード値を暗号化し、これをプロパティ ファイルに保存できます。次に、初期コンテキストを作成する前にプロパティ値を読み取り、復号化してプロパティを更新してから、jndiProps オブジェクトを InitialContext コンストラクタに渡します。

暗号化キーはクライアント上に残りますが、誰かがプロパティ ファイルを何気なく読んでパスワードを見つけ出すのを阻止できます。

SSL を使用することは、クライアントとサーバー間で送信されるパスワードを保護するための良い考えでもあります。

于 2009-03-05T23:56:20.637 に答える
0

パスワードを単純にハッシュするだけでは、実際に追加されたセキュリティの価値はありません。とにかく、パスワードはクライアントに存在するためです。

最初に t3s を使用してチャンネルで SSL 暗号化を使用し、次に管理者ユーザー「weblogic」の代わりに最小限の権限を持つユーザーを使用することで、最大の利益が得られます。

于 2009-02-26T06:43:23.703 に答える