공급 업체가 제어하는 SOAP 웹 서비스 용 클라이언트를 빌드하고 있습니다. 불행히도 그들의 dev 서버에는 검증 할 수없는 안전하지 않은 (자체 서명 된) 인증서가 있습니다. Apache Axis는 요청할 때마다 실패합니다. SSL 유효성 검사 오류를 무시할 수있는 방법이 있습니까? 분명히 생산을 위해 이것을하고 싶지는 않지만 내 개발 환경에서 좋을 것입니다.Axis 클라이언트에서 유효하지 않은 인증서 무시
2
A
답변
1
를, 무엇을 궁극적으로 사용자 지정 프로토콜 처리기를 설치하고 특정과 연결되었다 일 ServiceClient
:
private void configureServiceClient(ServiceClient client) {
SSLContext ctx;
try {
KeyStore truststore = KeyStore.getInstance("JKS");
truststore.load(getClass().getResourceAsStream("/truststore.jks"),
"latitude".toCharArray());
ctx = SSLContext.getInstance("SSL");
TrustManagerFactory tmf = TrustManagerFactory
.getInstance(TrustManagerFactory.getDefaultAlgorithm());
tmf.init(truststore);
ctx.init(null, tmf.getTrustManagers(), null);
} catch (Exception e) {
logger.error("Exception loading Bold trust store", e);
throw new RuntimeException(e);
}
SSLProtocolSocketFactory sslFactory = new SSLProtocolSocketFactory(ctx);
Protocol prot = new Protocol("https",
(ProtocolSocketFactory) sslFactory, 443);
client.getOptions().setProperty(HTTPConstants.CUSTOM_PROTOCOL_HANDLER,
prot);
}
이것의 장점은 새 인증서 내가라면 가능성이 길 아래에 물건을 파손 한 수 내 응용 프로그램에 대한 SSL 연결을 모두 무시하라고 요구하지 않았다이었다
발사됐다. 이 인증서는 새로운 인증서가 발급 될 경우 확실히 중단되지만 모든 인증서가 아니라 하나의 연결입니다.
2
당신이 요청 호출하기 전에 아래의 코드를 삽입, 인증서 유효성 검사를 해제하십시오 - 솔루션의 숫자를 시도 후
// Create a trust manager that does not validate certificate chains
final TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkClientTrusted(X509Certificate[] certs, String authType) {
}
@Override
public void checkServerTrusted(X509Certificate[] certs, String authType) {
}
}
};
// Install the all-trusting trust manager
try {
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
} catch (Exception ex) {
// take action
}
+0
이것은 실제로 그러나 나를 위해 일하지 않았다, 나는 일을 끝낸 것을 게시했다. 나는 당신이 제안한 것을 이해하고 그것이 왜 나에게 효과가 없었는지 확신 할 수 없다. –
+3
재미 있지만, 기본 SSL 소켓 팩토리를 설정하면 작동하지 않지만 대신 SSLContext.setDefault (sc);를 수행하면 작동합니다. Oracle Java 1.6 – user1516873
관련 문제
- 1. 무시 유효하지 않은 메일 서버 인증서
- 2. 유효하지 않은 인증서
- 3. 셀프 SSL - 유효하지 않은 인증서
- 4. Axis RPC 클라이언트에서 CDATA 보내기
- 5. 파이어 폭스가있는 SSL 유효하지 않은 보안 인증서
- 6. iOS 개발 인증서 생성 - 유효하지 않은 인증서 - 팀
- 7. "유효하지 않은 요소"웹 서비스 호출 중 AXIS 오류
- 8. axis/rampart 클라이언트에서 InclusiveNamespaces 사용 안 함
- 9. 안드로이드 클라이언트에서 인증서 사용
- 10. SSLSocketFactory로 인증서 유효성 검사 무시
- 11. SOAP 요청 - 보안 인증서 무시
- 12. SSL 설정 : 클라이언트 인증서 무시
- 13. 자바 스크립트에서 인증서 만료 무시
- 14. 크롬 확장하십시오 "myserver.com"에 유효하지 않은 인증서,이 때문에
- 15. IE9에서 watir-webdriver를 사용하여 유효하지 않은 인증서 화면을 통과하려면 어떻게해야합니까?
- 16. 앱 스토어에 업로드 할 때 유효하지 않은 서버 인증서
- 17. 입력 한 인증서 서명 요청이 유효하지 않은 것으로 나타납니다.
- 18. 두 사이트를 함께 연결할 때 유효하지 않은 인증서 경고
- 19. 애플 푸시 인증 - 유효하지 않은 인증서 서명 요청
- 20. java.security.cert.CertificateParsingException : 유효하지 않은 DER로 인코딩 된 인증서 데이터
- 21. https BasicHttpBinding을 사용하고 인증서 오류 무시
- 22. SOAP 유효하지 않은 문자
- 23. NASM - 유효하지 않은 세그먼트 재정의
- 24. Axis 1 클라이언트에서 HTTP 오류 코드를 처리하는 방법
- 25. WCF 응답의 MustUnderstand 특성으로 인해 Java/Axis 클라이언트에서 오류가 발생합니다.
- 26. urllib3을 사용하여 인증서 유효성 검사 무시
- 27. 무시 나쁜 인증서 HttpClient를 4.0.x의
- 28. 유효하지 않은 인증서를 조사하는 방법
- 29. 서명되지 않은 OpenSSL 인증서
- 30. Windows Phone 7 등록되지 않은 인증서 센터
거기에 관련된 StackOverflow 답변 - 나도 근무 : http://stackoverflow.com/questions/10913185/ignore-certification/authentication-on-axis-client-for-wcf-service#10913791 –