[SPRING] Spring을 사용하여 개발하는 동안 모든 인증서를 신뢰해야합니다.
SPRINGSpring을 사용하여 개발하는 동안 모든 인증서를 신뢰해야합니다.
모든 https 인증서를 프로그래밍 방식으로 사용하지 않도록 설정하는 방법에 대한이 유용한 문서를 읽었습니다. 나는 개발에만 그러한 접근이 필요하다. 그리고 저는 봄을 사용하고 있습니다. 그렇다면 누구나 Java 코드가 아닌 스프링 컨텍스트 파일에서 똑같은 작업을 수행 할 수있는 방법에 대한 아이디어가 있습니까? 이 코드의 특정 부분을 의미합니다.
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
사실, 나는 첫 번째 라인을 시뮬레이션 할 수있다 : 그런 식으로 :
<bean id="sslContext"
class="javax.net.ssl.SSLContext"
factory-method="getInstance">
<constructor-arg type="java.lang.String" value="SSL" />
</bean>
또한이 trustAllCerts 빈을 작성할 수 있습니다. 하지만 ... 혼란 스러웠습니다. 스프링 컨텍스트 초기화에서 bean의 메소드를 호출 할 수 있습니까? 나는 스프링 컨텍스트 파일에서 sc.init와 sc.getSocketFactory를 어떻게 호출 할 수 있는가? 불가능하거나 아닌가?
해결법
-
==============================
1.예 - init-method 속성을 사용할 수 있습니다. 초기화 콜백을보십시오. 그러나이 인터페이스로는 충분하지 않습니다. 이 코드를 배치하는 것이 좋습니다.
예 - init-method 속성을 사용할 수 있습니다. 초기화 콜백을보십시오. 그러나이 인터페이스로는 충분하지 않습니다. 이 코드를 배치하는 것이 좋습니다.
SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
사용자 정의 클래스에서 dev 모드에 있거나 해당 init 메소드가 있음을 알 수 있습니다. getSocketFactory를 호출하는 것은 간단합니다. 이것은 단순히 socketFactory 속성을 가져 오는 것입니다.
from https://stackoverflow.com/questions/6789597/need-to-trust-all-the-certificates-during-the-development-using-spring by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring Batch : 다중 스레드로 변환 할 때의 문제 (데이터 혼합) (0) | 2019.04.02 |
---|---|
[SPRING] 여분의 many-to-many 테이블을 생성하는 Hibernate (0) | 2019.04.02 |
[SPRING] 봄 보안 인증 로그인에서 사용자 이름과 비밀번호의 사용자 입력 값을 얻는 방법 (0) | 2019.04.02 |
[SPRING] 스프링을 사용하여 전략 패턴을 효율적으로 구현하는 방법은 무엇입니까? (0) | 2019.04.02 |
[SPRING] Hazelcast를 스프링을 사용하는 세션 캐싱에 대해 노드 집합으로 제한하면서 구성하는 방법은 무엇입니까? (0) | 2019.04.02 |