Glassfish 3.1.2的JDBCRealm有一个新的密码加密算法字段。它是为了什么?

时间:2012-02-24 20:55:15

标签: glassfish glassfish-3

Glassfish JDBC领域具有您可以设置的几种不同属性。

我对摘要算法密码加密算法属性感兴趣(这就是它们在管理控制台中的显示方式)。

第二个是Glassfish 3.1.2的新版本,尽我所知。

我有consulted the official Glassfish 3.1.1 documentation但它没有解决新属性,也没有真正解释第一个属性的用途。

有一个documentation bug引用了一个错误号(13363269),它必须指向一个已失效的错误系统,因为我找不到它引用的错误。这个幻像错误可能会详细说明密码加密算法属性的用途,但唉似乎已经失去了时间的迷雾。

从命令行,该属性被命名(不可能):digestrealm-password-enc-algorithm。看起来这将存在于digest-algorithm属性旁边。

我试图阅读source code, but the JDBCRealm.java file appears to be missing虽然我无疑只是在错误的地方寻找。我发现的先前副本并未在任何地方引用该属性。

这两个属性是什么?我有一种朦胧的感觉,他们一起确保如果我使用领域以明文密码登录,我可以以某种方式委托散列和比较操作到当然,前提是用于存储原始密码的哈希值和用于输入密码的哈希值的计算方法相同。

手册还指出,如果我想使用摘要式身份验证,我应该指定jdbcDigestRealm JAAS上下文。如果我不想使用摘要式身份验证,那么我应该指定jdbcRealm JAAS上下文。在我看来,这看起来是另一个我有效指定涉及哪种哈希算法的地方。

提前感谢任何指示。

1 个答案:

答案 0 :(得分:0)

我写了这篇文章(相关问题)here - Glassfish 3.1.2 JDBCRealm配置。

简而言之,密码加密字段似乎根本不是强制性的 - 因此只需将密码存储为SHA 256哈希就足够了。