尝试按照这些过程在 WebSphere 中启用密码加密,但我认为我不太明白该怎么做:
1. Plug point for custom password encryption
2. Enabling a plugpoint for custom password encryption
我的问题是:
- 我是否需要一个单独的 CustomPasswordEncryption 项目来导出 jar 并将其放入链接 2 第 2 步中所述的 ${WAS_INSTALL_ROOT}/classes 目录中?
- 如果是这样,我是否只需将链接 1 处的接口(interface)复制到该项目中并实现它?假设现在我在没有任何实际加密的情况下实现它,即返回通过它的密码而不做任何更改。我现在只是想看看这是如何运作的。
- 链接 1,步骤 1,假设我的类名为 CustomPasswordEncryptionImpl,是否应该将此属性设置为属性 com.ibm.wsspi.security.crypto.CustomPasswordEncryptionImpl?
- 链接 1,第 1 步,是否将 com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled 属性设置为
true
? - 链接 2,步骤 3。我不明白他们想说什么,我需要编辑类路径吗?
- 完成所有操作后,我是否需要编辑 security.xml 文件,还是 {xor} 会自动替换为我的新别名?
最佳答案
回答您的问题...
所有链接 2 第 2 步告诉您的是,您需要将实现的类放入 JAR 文件中,并将其放在正确的位置(在类路径上)。如何打包/管理该文件(是否作为项目)取决于您。
您无需复制提供的接口(interface),而是在自己的自定义对象中实现该接口(interface)(实现 CustomPasswordEncryption)。它已经是 WebSphere 的一部分。如果您的项目中引用了正确的 JAR 文件,编译器/ide/等将会找到它。
是的,您设置此 JVM 属性(通过 java -D)以指向接口(interface)的实现。尽管我强烈建议您将实现放在您自己的 java 包中,而不是他们的。所以类似于 com.whatever.CustomPasswordEncryptionImpl。
是
我没有尝试过,但看起来这样命名可以避免设置 JVM 属性。所以他们只是将其作为一种选择提供。不过,我仍然认为我更喜欢将它放在我自己的包装空间中。
您有责任更新这些内容,因为除非您主动更改它们,否则 WebSphere 不会更新它们。
还需要注意一件事...如果您实现的插件失败,WebSphere 将默认使用 XOR。您将在日志中看到一个条目,但在其他地方不会收到任何指示。因此,请务必牢记这一点。
关于java - WebSphere 自定义密码加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11728907/