gpt4 book ai didi

weblogic - 我的应用程序如何访问在 Weblogic 管理控制台中配置的 keystore ?

转载 作者:行者123 更新时间:2023-12-02 02:16:13 27 4
gpt4 key购买 nike

我想在我的 Web 应用程序中访问在 Weblogic 的自定义 keystore 配置中配置的身份 keystore (JKS)。如何让 weblogic 在不依赖以下环境属性的情况下公开此内容:-Djavax.net.ssl.Keystore、-Djavax.net.ssl.KeystorePassword。

最佳答案

您可以使用以下代码作为起点。

一些注意事项:

  • 执行代码的用户需要属于名为 OracleSystemGroup 的组
  • keystore 是从 EJB 规范不推荐的文件系统加载的。但我认为文件读取可以安全地完成。
  • Keystore 密码包含在 java.lang.String 中,不推荐使用。

由于这些缺点,我正在研究一种更好的方法。我一直在尝试寻找一种 WebLogic 服务,它可以提供访问身份存储中的证书和 key 的服务。似乎there is not one .

InitialContext ic = new InitialContext();
MBeanServer server = (MBeanServer) ic.lookup("java:comp/env/jmx/runtime");

// Get access to server configuration
ObjectName runtime = new ObjectName("com.bea:Name=RuntimeService,Type=weblogic.management.mbeanservers.runtime.RuntimeServiceMBean");
ObjectName serverConfig = (ObjectName) server.getAttribute(runtime, "ServerConfiguration");

/* Load identity store location and passphrase.
* If e.g. Demo identity has been configured (in WL console) instead of
* custom identity then the following does not work.
*/

// Passphrase as clear text
Object keyStorePassPhrase = server.getAttribute(serverConfig, "CustomIdentityKeyStorePassPhrase");
Object keyStoreFileName = server.getAttribute(serverConfig, "CustomIdentityKeyStoreFileName");

// Load keystore
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(new FileInputStream(keyStoreFileName.toString()),
keyStorePassPhrase.toCharArray());

关于weblogic - 我的应用程序如何访问在 Weblogic 管理控制台中配置的 keystore ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10399167/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com