2011-09-08 3 views
1

일부 XML을 외부 URL로 보내는 HTTPRouter 액션 (esb 내)을 만들려고합니다. URL은 안전하지만 키 스토어가없는 자체 서명 인증서가 있습니다. 아래는 HTTPRouter를 설정하기 위해 작성한 XML입니다. ht.props에서 JBoss ESB : 안전한 끝점과 키 저장소가없는 HTTPRouter 사용

http://pastebin.com/FmFYU5e4

은 하나의 속성 집합이있는 파일. 프로토콜 소켓 팩토리를 SelfSignedSSLProtocolSocketFactoryBuilder로 정의합니다.
#HttpProtocol Config... 
protocol-socket-factory=org.jboss.soa.esb.http.protocol.SelfSignedSSLProtocolSocketFactoryBuilder 

나는 ESB를 배포

, 나는 다음과 같은 오류가 점점 오전 :

org.jboss.soa.esb.ConfigurationException: Failed to locate keystore '/keystore' 

주제에 대한 다양한 포럼을 중심으로 독서를, HTTPRouter 작업을 정의 할 수있는 키 스토어 파일을 원하는 것으로 보인다. 앞에서 언급했듯이, 외부 엔드 포인트가 직접 생성되거나 제어되지 않기 때문에 하나도 가지고 있지 않습니다. 키 스토어가 정의되지 않은 보안 엔드 포인트에서 작동하도록 HTTPRouter 조치를 얻는 방법이 있습니까? 엔드 포인트를 올바르게 정의하는 방식입니까?

제공되는 모든 도움을 주시면 대단히 감사하겠습니다.

감사

답변

1

당신은 키 스토어없이 SelfSignedSSLProtocolSocketFactoryBuilder을 가질 수 없습니다. 작성 자체 서명 한 JDK의 keytool 명령을 사용하여 하나를하고 정확한 경로에 넣어 :

openssl genrsa -out cert.key 1024 && echo -ne "\n\n\n\n\n$HOSTNAME\[email protected]$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 

내가 "루트"별칭에 대해 확실하지 않다. 일해야하지만 다른 별명이 필요합니다. 구성 방법 (매개 변수 이름) : http://www.java2s.com/Open-Source/Java-Document/JBoss/jbossesb-4.7/org/jboss/soa/esb/http/protocol/AbstractProtocolSocketFactoryBuilder.java.htm

+0

안녕하세요. 응답 해 주셔서 감사합니다. 지정한 명령 내에서 cert.key 및 cert.crt를 참조하십시오. 이것들은 명령에 의해 생성됩니까? 또한 지정한 HOSTNAME 문자열은 내가 가리키는 URL입니까? 내 설명에서 말했듯이 내가 가지고있는 것은 외부 URL입니다. 나는 그것을 가진 어떤 cert 파일도 가지고 있지 않다. – ScreamingMage

+0

그래, 내가 문제를 해결했습니다. 키 스토어 및 트러스트 스토어 파일을 작성해야합니다. 먼저 POST를 시도하는 URL에서 .cer 파일을 추출해야했습니다. 이 파일을 얻으면 키 저장소와 신뢰 파일을 만들 수있었습니다. 아래의 자습서에 설명 된 단계를 따랐습니다. http://www.techbrainwave.com/?p=953 또한 SelfSignedSSLProtocolSocketFactoryBuilder를 사용하는 대신 Apache 클라이언트 인 httpClient에서 EasySSLProtocolSocketFactory를 사용했습니다. 나는 지금 100 코드를 얻고있다. 그러나 나는 진보하고있는 것처럼 보인다! keystore 및 truststore 파일의 필요성을 강조 표시하는 lpaz에 감사드립니다. – ScreamingMage

+0

죄송합니다. PTO. 네가 해결했기 때문에 기쁘다. – lzap