首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JBoss企业服务总线:将HTTPRouter与安全端点一起使用,但不使用密钥库

JBoss企业服务总线:将HTTPRouter与安全端点一起使用,但不使用密钥库
EN

Stack Overflow用户
提问于 2011-09-08 21:44:56
回答 1查看 813关注 0票数 1

我正在尝试创建一个HTTPRouter操作(在企业服务总线内),该操作将一些XML发送到外部URL。URL是安全的,但是有一个自签名证书,我没有它的密钥库。下面是我编写的用于设置HTTPRouter的XML。

http://pastebin.com/FmFYU5e4

在ht.props文件中,只有一个属性集。我将协议套接字工厂定义为SelfSignedSSLProtocolSocketFactoryBuilder。

代码语言:javascript
复制
#HttpProtocol Config...
protocol-socket-factory=org.jboss.soa.esb.http.protocol.SelfSignedSSLProtocolSocketFactoryBuilder

当我部署ESB时,我得到以下错误:

代码语言:javascript
复制
org.jboss.soa.esb.ConfigurationException: Failed to locate keystore '/keystore'

浏览有关该主题的各个论坛,似乎HTTPRouter操作需要定义一个keystore文件。如前所述,我没有外部端点,因为外部端点不是我自己创建或控制的。有没有办法让HTTPRouter操作在没有定义密钥库的安全端点上工作?我定义端点的方式正确吗?

我们非常感谢您提供的任何帮助!

谢谢

EN

回答 1

Stack Overflow用户

发布于 2011-09-08 21:56:57

如果没有密钥库,就不能有SelfSignedSSLProtocolSocketFactoryBuilder。使用JDK keytool命令创建自签名的文件,并将其放在正确的路径下:

代码语言:javascript
复制
openssl genrsa -out cert.key 1024 && echo -ne "\n\n\n\n\n$HOSTNAME\nroot@$HOSTNAME\n" | openssl req -new -key cert.key -x509 -out cert.crt -days 999
openssl x509 -outform der -in cert.crt -out cert.der
keytool -import -file cert.der -alias root -keystore /cesta/ke/keystore.jks

我不确定"root“别名。应该可以,但也许你需要不同的别名。更多详细信息如何配置(参数名):http://www.java2s.com/Open-Source/Java-Document/JBoss/jbossesb-4.7/org/jboss/soa/esb/http/protocol/AbstractProtocolSocketFactoryBuilder.java.htm

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7349049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档