【问题标题】:Obtaining an IntialContext from Weblogic without using clear text password在不使用明文密码的情况下从 Weblogic 获取 IntialContext
【发布时间】:2009-02-09 07:39:58
【问题描述】:

我可以使用以下方法从 JNDI 客户端获取 Weblogic InitialContext 属性作为 InitialContext 的环境参数

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?

【问题讨论】:

    标签: security weblogic jndi


    【解决方案1】:

    您可以使用对称加密,加密密码值并将其存储在属性文件中。然后在创建初始上下文之前读取属性值,解密并更新属性,然后将 jndiProps 对象传递给 InitialContext 构造函数。

    加密密钥仍会在客户端上,但它会阻止有人随便读取属性文件以找出密码。

    使用 SSL 也是保护在客户端和服务器之间传输的密码的好主意。

    【讨论】:

      【解决方案2】:

      简单地散列密码并没有真正增加安全价值。因为您的密码无论如何都驻留在客户端上。

      首先使用 t3s 在您的频道上使用 SSL 加密,其次是拥有最少权限的用户而不是管理员用户“weblogic”,从而获得最大的收益。

      【讨论】:

        猜你喜欢
        • 2023-01-09
        • 2011-04-28
        • 2023-03-09
        • 2021-01-20
        • 2015-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多