2 回答
TA贡献1845条经验 获得超8个赞
您可以检索默认 SSL 套接字工厂(将由 WAS 管理的工厂)并要求 httpclient 将其用于 https,而不是检索密钥库的路径。在以后的 httpclient 版本中,这更容易。
在旧版本中,您需要为 https 和默认套接字工厂 javax.net.ssl.SSLSocketFactory.getDefault() 注册一个协议,然后配置您的客户端以使用它。
TA贡献1827条经验 获得超9个赞
您可以创建包含文件路径的命名空间绑定,以便从您的代码外部化这些路径。
在 WAS 中设置两个名称空间绑定,一个用于密钥库,一个用于信任库。这是在环境 > 命名 > 命名空间绑定下的管理控制台中。
设置范围以引用您的应用程序或集群。将绑定类型设置为字符串。将绑定标识符和名称相对于查找名称前缀设置为标识它的名称,例如(your application)keystorefile. 将字符串值指定为服务器上密钥库的路径。
设置这些条目后,您可以使用 JNDI 来检索密钥库和信任库文件位置。Spring 有一个 JndiObjectFactoryBean,您可以使用 Configuration 类中的绑定标识符和预期类型对其进行配置,并使用限定符将其标识给 Spring:
@Bean @Qualifier("fooAppKeyStorePath")
public JndiObjectFactoryBean fooAppKeyStorePath() {
JndiObjectFactoryBean jndiObjectFactoryBean = new JndiObjectFactoryBean();
jndiObjectFactoryBean.setJndiName("yourBindingIdentifier");
jndiObjectFactoryBean.setExpectedType(String.class);
return jndiObjectFactoryBean;
}
字符串值被注入到用该限定符标记的配置方法参数中。
添加回答
举报