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

2024-03-22

Glassfish JDBC 领域具有多个可以设置的不同属性。

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

据我所知,第二个是从 Glassfish 3.1.2 开始的新版本。

I have 查阅了Glassfish 3.1.1官方文档 http://docs.oracle.com/cd/E18930_01/html/821-2435/ggkuk.html#ggmww但它没有解决新属性,也没有真正解释第一个属性的用途。

有一个文档错误 http://java.net/jira/browse/GLASSFISH-17796它引用了一个错误号(13363269),它必须指向一个已失效的错误系统,因为我找不到它所引用的错误。这个幽灵错误大概详细说明了密码加密算法财产是用来的,但可惜似乎已经消失在时间的迷雾中。

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

我尝试阅读源代码,但是JDBCRealm.java文件似乎丢失 http://java.net/projects/glassfish/sources/svn/show/trunk/main/nucleus/security/core/src/main/java/com/sun/enterprise/security/auth/realm/jdbc?rev=52693尽管我无疑只是找错了地方。我发现的先前副本没有在任何地方引用该属性。

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

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

预先感谢您的任何指点。


我写过这个(相关问题)here https://stackoverflow.com/questions/12067410/glassfish-3-1-2-jdbcrealm-configuration/20714695#20714695- Glassfish 3.1.2 JDBCRealm 配置。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Glassfish 3.1.2 的 JDBCRealm 有一个新的密码加密算法字段。它是做什么用的? 的相关文章

随机推荐