설정 : WL 9.2 + Jersey 1.1.5.1 on WL 's Jrockit. 새 버전 Java 6이 필요하기 때문에 Jersey 1.1.5.1을 선택했습니다. 웹 로직 EJB는 REST 클라이언트 역할을하며,이 오류가 점점 계속 :저지 HTTPS가있는 Weblogic REST 클라이언트 : 핸드 셰이크 오류
-Dweblogic.security.SSL.ignoreHostnameVerification=true -Dweblogic.security.SSL.enforceConstraints=off -Dweblogic.webservice.client.ssl.strictcertchecking=false
이 단지 POC 구현으로
ClientHandlerException: javax.net.ssl.SSLKeyException: [Security:090477]Certificate chain received from svcpoint.restprovider.com - xx.xxx.xxx.xx was not trusted causing SSL handshake failure.
을, 웹 로직은 다양한 플래그 설정이 바로이 오류가 멀리 갈 수 있도록 인증서 검증을 무시하는 것입니다
SSLContext ctx = SSLContext.getInstance("SSL");
HTTPSProperties prop = new HTTPSProperties(
new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
System.out.println("\n\nFAKE_Verifier: " + hostname+"\n\n");
return true;
}
}, ctx);
config.getProperties().put(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES, prop);
마지막으로, 유일한 WL 서버, 기술적으로 관리 SRV는, 관리자 C로 구성된 :
또한, 저지 구성 설정이 비트를 포함 호스트 이름 확인을 사용하지 않는 SSL.Advanced 설정.
는 지금, 나는, 뉴저지 내 가짜 검증 설정이 실제로 관여하지 않습니다 확신 해요 나는 SSL 디버그에서이 오류를 참조로 :
<SecuritySSL> <000000> <weblogic user specified trustmanager validation status 16>
<Security> <BEA-090477> <Certificate chain received from svcpoint.restprovider.com - xx.xxx.xxx.xx was not trusted causing SSL handshake failure.>
<SecuritySSL> <000000> <Validation error = 16>
<SecuritySSL> <000000> <Certificate chain is untrusted>
<SecuritySSL> <000000> <SSLTrustValidator returns: 16>
<SecuritySSL> <000000> <Trust status (16): CERT_CHAIN_UNTRUSTED>
<SecuritySSL> <000000> <NEW ALERT with Severity: FATAL, Type: 42
java.lang.Exception: New alert stack
at com.certicom.tls.record.alert.Alert.<init>(Unknown Source)
내가 봤 여기에 다른 유사한 문제를 검토 한 결과를 그래서, 아마 뭔가 빠졌을거야. 또한 인증서가 유효하다고 판단 할 수 있으므로 CN = *. restprovider.com에 대해 표시하고 2011 년 11 월에 만료됩니다.
그래, 나는 그것을 추가하려고 시도했지만 그것은 전혀 도움이되지 않았다. 이 일을 제대로 수행하기 위해 저지와 함께 돌봐야 할 것이 있는지 궁금합니다. – Karoy
좋습니다. \ jrockit90_150_10 \ jre \ lib \ security \ cacerts 키 저장소에 인증서를 추가하는 것이 정답입니다. 어떤 이유로 든, 나는 단지 DemoIdentity, jks store와 같은 서버 인스턴스에만 추가했다. – Karoy
이런 일이 어떻게 발생했는지 모르지만 여기에 해당하는 올바른 키 저장소는 ** server \ lib \ DemoTrust.jks **입니다. 나의 이전의 코멘트는 그렇지 않다는 것을 나타 냈지만 분명히 틀렸다. 내 잘못이야.. – Karoy