서비스 제공 업체가 편도 TLS를 구현 한 AXIS 기반 웹 서비스에 대해 연구하고 있습니다. 이 서비스를 사용하기 위해 javax.net.ssl.keyStore 또는 javax.net.ssl.trustStore를 사용하여 weblogic 시작 스크립트에서 keystore 및 truststore 속성을 제공했습니다. 우리가 테스트를 실행하는 경우AXIS 웹 서비스가 Weblogic 서버에 정의 된 Truststore를 사용하지 않습니다.
, 우리는 예외 아래 얻고있다 : java.security.NoSuchAlgorithmException :
에 의한 오류 구현을 구성 (알고리즘 : 기본, 제공 업체 : IBMJSSE2, 클래스 : com.ibm.jsse2. ec) at java.security.Provider $ Service.newInstance (Provider.java:1271) at sun.security.jca.GetInstance.getInstance (GetInstance.java:249) at sun.security.jca.GetInstance.getInstance (getInstance.java:177) 에서 javax.net.ssl.SSLContext.getInstance (SSLContext.java:26) 에서 javax.net.ssl.SSLContext.getDefault (SSLContext.java:9) 에서 javax.net.ssl. SSLSocketFac tory.getDefault (SSLSocketFactory.java:23) at org.apache.axis.components.net.JSSESocketFactory.initFactory (JSSESocketFactory.java:87) at org.apache.axis.components.net.JSSESocketFactory.create (JSSESocketFactory. 자바 : 105) ...
에 의한 더 22 : java.lang.Exception와는 : 신뢰 파일이 존재하지 않습니다 /home/apps/weblogic/.keystore com.ibm.jsse2.rc.a에서 (rc.java:38) com.ibm.jsse2.ec.f (ec.java:19) at com.ibm.jsse2.ec. < 초기화하기 > sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:86)에서 sun.reflect.NativeConstructorAccessorImpl.newInstance0 (기본 방법) 에서 (ec.java:21) sun.reflect.DelegatingConstructorAccessorImpl.newInstance에서 (DelegatingConstructorAccessorImpl 된 .java : 58) java.lang.reflect.Constructor.newInstance (Constructor.java:542) java.security.Provider를 $ Service.newInstance (Provider.java:1252) 에서 ...에서 보다 29
keystore/truststore 속성을 설정 한 후에도 /home/apps/weblogic/.keystore 위치를 선택하는 위치가 확실하지 않습니다. 나는 AXIS의 JAR 파일을 선택하면
, 내가 org.apache.axis.components.net.SunJSSESocketFactory 클래스에서 우리는 신뢰에 대한 기본 속성 아래에있는 것을 보았다 :
정적 부울 defaultClientAuth = 거짓; private 부울 clientAuth = 거짓; static String defaultKeystoreFile = System.getProperty ("user.home") + "/.keystore"; static String defaultKeyPass = "changeit";
AXIS API가 명령 줄 인수에 제공된 키 스토어 대신이 기본 키 스토어를 사용하는 이유는 누구나 설명 할 수 있습니까?