2012-10-22 5 views
0

여기 아이디어가 없습니다.Java Trusting ssl CA

SSL 인증서가있는 java에서 웹 서비스를 사용하려고합니다.

필자는 인증서를 추가 한 키 저장소 파일을 생성합니다. 파일은 내 프로젝트 폴더에 있습니다. 파일에 잘못된 경로를 제공 할 때 시스템 속성을 설정하면, WS하지 호출 할 때 응용 프로그램이 예외가 발생하기 때문에

System.setProperty("javax.net.ssl.keyStore", "folder\\keystore.jks"); 
System.setProperty("javax.net.ssl.keyStorePassword", "SECRET"); 

는 분명히, 웹 서비스 호출이 키 스토어를 확인 :

나는 사용하여 수입 . 키 저장소 파일에 대한 올바른 경로를 제공 할 때 어쨌든

, 나는 아직도 얻을

AxisFault faultCode를 : {http://xml.apache.org/axis/}HTTP faultSubcode : 으로, faultString : (401) 인증 필요

누군가이 사실을 알기 전에 CA를 신뢰해야한다고 말했습니다.

어떻게하면됩니까?

+0

나는 SSL 암호화와 관련이 없다고 말하고 싶습니다. 웹 서비스는 SSL (인증) 이외의 다른 메커니즘에 의해 보안됩니다. SSL 클라이언트 인증서, WS-Security 등. 공급자에게 무엇을해야하는지 물어보십시오. – home

+0

이것은 SSL 인증과 관련이 없습니다. 사용자 이름과 비밀번호가 액세스 할 수없는 것으로 보입니다. 사용자 이름을 확인하고 암호가 틀린 것으로 확인되었습니다. – Ami

+0

사실, 내 사용자 이름과 암호를 제공하고 (그리고 wsdl에서 클라이언트 스텁을 생성하여) delphi7을 사용하여 웹 서비스에 액세스 할 수 있습니다. – LuigiEdlCarno

답변

1

나는 그것을 알아 냈다. 분명히이 서비스는 HTTP 기본 인증을 사용합니다.

은 (org.apache.axis.client.stub를 확장) 축이 생성 된 것을 스텁, 나중에 도움을

((org.apache.axis.client.Stub) this)._setProperty(org.apache.axis.client.Call.USERNAME_PROPERTY, "HTTPUSER"); 
((org.apache.axis.client.Stub) this)._setProperty(org.apache.axis.client.Call.PASSWORD_PROPERTY, "HTTPPW"); 

가주 감사 생성자에 다음 두 줄이 필요합니다.

감사합니다.