SOA Suite 12.2를 설치 한 관리 서버가있는 Weblogic 12c 도메인을 생성했습니다. 내 합성물에서 SSL을 통해 REST 서비스를 호출 할 수 있으려면 SSL을 통해 REST 서버에 연결하는 유효한 인증서 체인을 사용하여 truststore를 작성해야한다.사용자 정의 신원 및 트러스트 스토어를 사용하여 Weblogic 관리 서버를 구성했습니다. jre truststore를 사용합니다.
/u01/data/keystores/identitykeystore.jks에 사용자 지정 ID 저장소를 사용하고 /u01/data/keystores/truststore.jks에 truststore를 사용하여 SOA 관리 서버에 대한 사용자 지정 신원 및 사용자 지정 신뢰를 만들었습니다. 나머지 서비스를 사용하여 합성을 호출 할 때
내가는 remotefault을 얻을
<bpelFault><faultType>0</faultType><remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>oracle.fabric.common.FabricInvocationException: javax.ws.rs.ProcessingException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target</summary></part><part name="code"><code>null</code></part><part name="detail"><detail>unable to find valid certification path to requested target</detail></part></remoteFault></bpelFault></fault><faultType>
<message>0</message></faultType></messages>
자바 예외가 유효한 인증 경로를 찾을 수 없음을보고 서비스를 호출 직후 발견에 드 server.out
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
받은 인증서 체인은 예상대로 루트 CA, 중간 및 서버 인증서입니다. (또한 server.out에서 추출)
원인은 weblogic이 구성된 사용자 정의 truststore가 아니라 기본 Java truststore를 사용하고있는 것으로 보입니다. (예, nodemanager, admin 및 관리되는 서버가 다시 시작되었습니다.) 이것은 인증 경로가 유효하지 않은 이유를 설명하지만 현재이 문제를 해결하는 방법을 알 수 없습니다.
<Jun 23, 2016 10:15:27 PM CEST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 12.2.1.0.0 Tue Oct 6 10:05:47 PDT 2015 1721936>
trustStore is: /usr/java/jdk1.8.0_92/jre/lib/security/cacerts
trustStore type is : jks
trustStore provider is :
init truststore
adding as trusted cert:
Subject: CN=Equifax Secure Global eBusiness CA-1, O=Equifax Secure Inc., C=US
모든 의견, 제안 또는 해결책을 환영합니다!
- 업데이트 1 -
이 문서 "퓨전 미들웨어 확보 오라클 웹 로직 서버"에서 다음을 찾을 수
웹 로직 서버에서 찾은 신뢰
웹 로직 서버는 다음과 같은 알고리즘을 때를 사용하는 방법 다음과 같이 신뢰할 수있는 CA 인증서를로드합니다.
- 키 저장소가 -Dwe blogic.security.SSL.trustedCAkeystore 명령 줄 인수에서 해당 키 저장소에서 신뢰할 수있는 CA 인증서를로드합니다.
- 그렇지 않으면 keystore가 구성 파일 (config.xml)에 지정된 경우 지정된 키 저장소에서 신뢰할 수있는 CA 인증서를로드하십시오. 서버가 DemoTrust로 구성되어 있으면 신뢰할 수있는 CA 인증서가 WL_HOME \ server \ lib \ DemoTrust.jks 및 JDK cacerts 키 저장소에서로드됩니다.
- 그렇지 않으면 신뢰할 수있는 CA 파일이 구성 파일 (config.xml)에 지정된 경우 해당 파일에서 신뢰할 수있는 CA 인증서를로드하십시오.이 파일은 6.x SSL 구성과의 호환성을 위해서만 입니다.
- 그렇지 않으면 WL_HOME \ server \ lib \ cacerts keystore의 신뢰할 수있는 CA 인증서를로드하십시오.
-Dweblogic.security.SSL.trustedCAkeystore 인수가 사용되지 않으므로 사용자 지정 트러스트 스토어에서 트러스트 된 CA 인증서를로드해야합니다.
- 업데이트 2 - 아웃 바운드 웹 서비스 바인딩의
오라클 SOA 스위트는 SSL에 대한 JRF HttpClient를하고, 따라서 썬 JDK이 라이브러리를 사용합니다. 따라서 -Djavax.net.ssl.trustStore = your_truststore_location은 ..
다음 server.out가 파일에 기록된다 JAVA_PROPERIES에 신뢰 속성을 추가 한 후 startweblogic.shJAVA_OPTIONS에 추가되어야
soa_server1.out : /u01/data/domains/soa12c/bin/setDomainEnv.sh : 384 줄 : -Djava.net.ssl.trustStore =/u01/data/keystores/truststore.jks : 해당 파일이나 디렉토리가 없습니다.
파일이 존재합니다. 도메인 사용자는 jks 파일에 대한 파일 액세스 권한을가집니다.
그래서 내가 당신에게 물어 봅시다, 당신은 DemoIdentity 및 DemoKeystore로 유지하려고 시도하고 DemoIdentity 및 클라이언트 측면 certs에 cacerts에있는 서버면 certs를 추가? SSL을 통해 SOA 서버와 통신하고 있습니까 아니면 반대로 또는 두 가지 방식입니까? –
트러스트 스토어 데모 ID를 사용하면 얻을 수있는 이점이 없습니다. REST 서비스는 SSL을 통해 호출되므로 SOA 서버에서 REST 서비스를 제공하는 원격 서버로의 단방향 트러스트이다. 트러스트 스토어에는 유효한 인증서 체인이 들어 있습니다. 잘못 놓인 따옴표로 인해 발생한 '해당 파일 또는 디렉토리 없음'을 수정했습니다. 몇 시간 후에 업데이트됩니다. 플레이어 – pcvnes
JRE 키 저장소를 업데이트하면 작동합니까? –